以下是一个使用Bokeh 2.0创建简单日期范围滑块的示例代码:
from datetime import datetime
from bokeh.io import curdoc
from bokeh.layouts import row
from bokeh.models import DateRangeSlider
from bokeh.plotting import figure
# 创建一个绘图对象
p = figure(width=800, height=400, x_axis_type='datetime')
# 创建一个日期范围滑块
date_range_slider = DateRangeSlider(title="日期范围", start=datetime(2020, 1, 1), end=datetime(2020, 12, 31), value=(datetime(2020, 1, 1), datetime(2020, 12, 31)), step=1)
# 定义一个回调函数,当滑块的值发生变化时更新图表
def update_plot(attrname, old, new):
start_date, end_date = date_range_slider.value
p.x_range.start = start_date
p.x_range.end = end_date
# 绑定回调函数到滑块的值变化事件
date_range_slider.on_change('value', update_plot)
# 初始化图表
start_date, end_date = date_range_slider.value
p.x_range.start = start_date
p.x_range.end = end_date
# 在文档中添加滑块和图表
curdoc().add_root(row(date_range_slider, p))
运行上述代码后,会生成一个包含日期范围滑块和图表的Bokeh应用程序。当滑块的值发生变化时,图表的x轴范围也会相应地更新。你可以根据自己的需求修改滑块的起始日期、结束日期和步长。