要使用Bokeh创建带有回调函数的交互式图表,您需要使用Bokeh的基本图表功能以及Bokeh的回调功能。
以下是一个简单的示例,演示如何创建一个带有滑块的交互式图表,并使用回调函数更新图表:
from bokeh.plotting import figure, curdoc
from bokeh.layouts import column
from bokeh.models import Slider
from bokeh.io import output_file, show
# 创建一个图表
plot = figure()
plot.line(x=[1, 2, 3, 4, 5], y=[1, 2, 3, 4, 5])
# 创建一个滑块
slider = Slider(start=0, end=10, value=0, step=1, title="Offset")
# 定义一个回调函数
def update_plot(attr, old, new):
offset = slider.value
new_y = [y + offset for y in plot.y_range.factors]
plot.y_range.factors = new_y
# 将回调函数与滑块连接
slider.on_change('value', update_plot)
# 创建一个布局
layout = column(slider, plot)
# 将布局添加到文档中
curdoc().add_root(layout)
此示例创建了一个简单的折线图表和一个滑块。当滑块的值更改时,回调函数将更新图表的y值并重新绘制图表。您可以通过运行上面的代码并在浏览器中查看交互式图表来测试这个示例。