要在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文檔中。當你運行這段代碼時,你將看到一個帶有滑動條的圖表,你可以通過滑動條來改變曲線的顯示范圍。