我正在将xwheel_zoom(WheelZoomTool)用于具有日期时间轴的散景图。
p = figure(x_axis_type="datetime", tools='xwheel_zoom, crosshair, undo, reset')
我提供熊猫TimeStamp作为此图表的x值。例如:pd.Timestamp.now(tz='utc')
。该图表的x轴范围是过去24小时内。
start = pd.Timestamp.now(tz='utc') - pd.Timedelta(hours=24)
[使用xwheel_zoom,我可以放大以查看给定时间(例如最后一个小时)的图表。
Bokeh中有什么方法可以通过编码或连接到xwheel_zoom并使用Bokeh小部件(例如Bokeh下拉列表)对其进行控制来实现此缩放功能?
我的目标是要单击一个按钮,然后让它向我展示过去一小时的x_axis缩放,或者显示我定义的日期时间段之间的图表。从概念上来说,我不想再次重新定义/绘制图表,而只想控制xwheel_zoom功能。
您不需要任何工具来执行此操作。只需在回调中更改所需范围即可。类似于:
b = Button()
def update():
p.x_range.update(start=0, end=1)
b.on_click(update)
该示例仅在与bokeh serve
一起使用时才有效。如果您不使用它,则可以重写代码以与CustomJS
和js_on_click
一起使用。