📜  Bokeh-嵌入图和应用程序(1)

📅  最后修改于: 2023-12-03 14:39:32.611000             🧑  作者: Mango

Bokeh-嵌入图和应用程序

Bokeh是一个Python库,用于快速创建交互式数据可视化。它可用于创建各种图表,包括折线图、散点图、柱状图等,并支持与其他Python库集成,如Pandas和NumPy。

安装Bokeh

在终端中运行以下命令以安装Bokeh:

pip install bokeh
创建一个简单的Bokeh图表

以下是一个简单的Bokeh图表的代码示例:

from bokeh.plotting import figure, show

# 创建一个绘图工具
p = figure(title="Simple Line Plot", x_axis_label='x', y_axis_label='y')

# 添加数据到图表中
p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5])

# 显示图表
show(p)

这将创建一个带有一条线的简单图表。

嵌入Bokeh图表

要将Bokeh图表嵌入到Web应用程序或网站中,可以将Bokeh图表保存为HTML文件,然后在Web应用程序或网站中使用HTML文件嵌入代码。

以下是将Bokeh图表保存为HTML文件的代码示例:

from bokeh.plotting import figure, output_file, show

# 输出图表到HTML文件
output_file("line_chart.html")

# 创建一个绘图工具
p = figure(title="Simple Line Plot", x_axis_label='x', y_axis_label='y')

# 添加数据到图表中
p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5])

# 显示图表
show(p)

要将HTML文件嵌入到Web应用程序或网站中,可以使用下面的HTML代码:

<iframe src="path/to/line_chart.html" width="600" height="400"></iframe>
创建Bokeh应用程序

Bokeh还支持创建交互式应用程序,可以在Web浏览器中运行。以下是创建简单应用程序的代码示例:

from bokeh.layouts import column
from bokeh.models import Slider
from bokeh.plotting import figure, curdoc

# 创建一个绘图工具
p = figure(title="Simple Plot", x_axis_label='x', y_axis_label='y')

# 添加数据到图表中
r = p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5])

# 创建一个滑块
slider = Slider(start=0.1, end=2, value=1, step=.1, title="power")

# 定义一个回调函数,更新图表中数据的值
def update(attr, old, new):
    r.data_source.data['y'] = [i ** slider.value for i in [6, 7, 2, 4, 5]]

# 将滑块的回调函数与滑块的value属性绑定
slider.on_change('value', update)

# 将绘图工具和滑块放置到布局中
layout = column(p, slider)

# 创建应用程序
curdoc().add_root(layout)

要运行应用程序,请运行以下命令:

bokeh serve --show myapp.py

这将启动一个本地服务器,并在浏览器中打开应用程序。