如何在 Python 中使用 Bokeh 生成 K 线图?


Bokeh 是一个用于数据可视化的 Python 包。它是一个开源项目。Bokeh 使用 HTML 和 JavaScript 渲染其绘图。这表明它在处理基于 Web 的仪表板时非常有用。

Bokeh 可以轻松地与 NumPy、Pandas 和其他 Python 包结合使用。它可以用来生成交互式图表、仪表板等等。

Bokeh 的依赖项 -

Numpy
Pillow
Jinja2
Packaging
Pyyaml
Six
Tornado
Python−dateutil

在 Windows 命令提示符下安装 Bokeh

pip3 install bokeh

在 Anaconda 提示符下安装 Bokeh

conda install bokeh

以下是一个示例 -

示例

from math import pi
import pandas as pd
from bokeh.plotting import figure, output_file, show
from bokeh.sampledata.stocks import MSFT
my_df = pd.DataFrame(MSFT)[:35]
my_df["date"] = pd.to_datetime(my_df["date"])

inc = my_df.close > my_df.open
dec = my_df.open > my_df.close
w = 12*60*60*1000
TOOLS = "pan,wheel_zoom,box_zoom,reset,save"
p = figure(x_axis_type="datetime", tools=TOOLS, plot_width=1000, title = "Candlestick using MSFT data")
p.xaxis.major_label_orientation = pi/4
p.grid.grid_line_alpha=0.3

p.segment(my_df.date, my_df.high, my_df.date, my_df.low, color="black")
p.vbar(my_df.date[inc], w, my_df.open[inc], my_df.close[inc], fill_color="#D5E1DD", line_color="black")
p.vbar(my_df.date[dec], w, my_df.open[dec], my_df.close[dec], fill_color="#F2583E", line_color="black")

output_file("candlestick.html", title="candlestick plot")

show(p)

注意 - 要运行此代码,需要先安装 Bokeh,并执行以下命令下载示例数据集。

bokeh.sampledata.download()

输出

解释

  • 导入并为所需的包设置别名。

  • MSFT 数据是 Bokeh 库中内置的数据集。

  • 它存储为数据框。

  • 调用 figure 函数并设置绘图宽度和高度。

  • 调用 'output_file' 函数以指定将生成的 html 文件的名称。

  • 定义 'TOOLS' 属性。

  • 调用 Bokeh 中的 'vbar' 函数以及数据。

  • 使用 'show' 函数显示绘图。

更新于: 2021年1月19日

337 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告