阅读量:6
要在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文档中。当你运行这段代码时,你将看到一个带有滑动条的图表,你可以通过滑动条来改变曲线的显示范围。