使用Bokeh小部件/回调控制Bokeh xwheel_zoom工具

问题描述 投票:0回答:1

我正在将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功能。

python bokeh
1个回答
0
投票

您不需要任何工具来执行此操作。只需在回调中更改所需范围即可。类似于:

b = Button()

def update():
    p.x_range.update(start=0, end=1)

b.on_click(update)

该示例仅在与bokeh serve一起使用时才有效。如果您不使用它,则可以重写代码以与CustomJSjs_on_click一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.