要使用Bokeh創建一個范圍滑塊來篩選數據,首先需要安裝Bokeh庫并導入相關模塊。然后,可以使用RangeSlider
對象來創建一個范圍滑塊,將其添加到Bokeh的繪圖工具中。
下面是一個簡單的示例代碼:
from bokeh.plotting import figure, show
from bokeh.models import RangeSlider
from bokeh.layouts import column
from bokeh.io import curdoc
# 創建示例數據
data = {'x': [1, 2, 3, 4, 5],
'y': [2, 3, 4, 5, 6]}
# 創建Bokeh圖形
p = figure(title='Range Slider Example')
p.circle('x', 'y', source=data)
# 創建范圍滑塊
range_slider = RangeSlider(start=1, end=5, value=(1, 5), step=1, title='Range Slider')
# 定義回調函數
def update_range(attr, old, new):
start, end = range_slider.value
new_data = {'x': [x for x in data['x'] if start <= x <= end],
'y': [y for x, y in zip(data['x'], data['y']) if start <= x <= end]}
source.data = new_data
range_slider.on_change('value', update_range)
# 將范圍滑塊和圖形放在一起
layout = column(range_slider, p)
# 顯示Bokeh應用
curdoc().add_root(layout)
運行以上代碼后,會生成一個范圍滑塊和一個散點圖,可以通過拖動滑塊來篩選數據顯示在散點圖中。