要在Bokeh中创建和使用滑动条来改变图表数据,可以使用Bokeh库中的Slider
组件。下面是一个简单的示例代码,演示了如何创建一个带有滑动条的图表,并根据滑动条的值来更新图表数据:
from bokeh.plotting import figure, curdoc
from bokeh.models import Slider, ColumnDataSource
from bokeh.layouts import column
# 创建一个图表和数据源
source = ColumnDataSource(data=dict(x=[], y=[]))
plot = figure(plot_width=400, plot_height=400)
plot.line('x', 'y', source=source)
# 创建一个滑动条
slider = Slider(start=0, end=10, value=5, step=1, title="Slider")
# 定义一个回调函数,当滑动条的值改变时更新数据源
def update_data(attrname, old, new):
data = dict(x=list(range(new)), y=[i**2 for i in range(new)])
source.data = data
slider.on_change('value', update_data)
# 将图表和滑动条组合成一个布局
layout = column(slider, plot)
# 将布局添加到当前文档中
curdoc().add_root(layout)
在这个示例中,我们创建了一个简单的图表,显示y=x^2的曲线。然后我们创建了一个范围在0到10之间的滑动条,用来控制x的取值范围。当滑动条的值改变时,通过回调函数update_data
更新数据源的值,从而更新图表数据。最后,我们将滑动条和图表组合成一个布局,并将其添加到当前的Bokeh文档中。当你运行这段代码时,你将看到一个带有滑动条的图表,你可以通过滑动条来改变曲线的显示范围。