温馨提示×

使用Bokeh,如何创建一个范围滑块来筛选数据

小樊
82
2024-05-20 11:37:35
栏目: 编程语言

要使用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)

运行以上代码后,会生成一个范围滑块和一个散点图,可以通过拖动滑块来筛选数据显示在散点图中。

0