如何使用 Bokeh 在 Python 中生成蜡烛图?
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
以下是一个示例 –
更多Python相关文章,请阅读:Python 教程
示例
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 函数以及 plot 宽度和高度。
-
调用 ‘output_file’ 函数以命名生成的 html 文件。
-
定义 ‘TOOLS’ 属性。
-
调用 Bokeh 中的 ‘vbar’ 函数以及数据。
-
使用 ‘show’ 函数来显示图表。