我正在使用xwheel_zoom (WheelZoomTool)来处理带有日期时间轴的波克图。
p = figure(x_axis_type="datetime", tools='xwheel_zoom, crosshair, undo, reset')
我提供pandas 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 dropdown)控制它来实现这种缩放功能吗?
我的目标是有一个可以点击的按钮,让它显示过去一小时内放大的x_axis,或者显示我定义的某个日期时间段之间的图表。理想情况下,我不想再次重新定义/重新绘制图表,只想控制xwheel_zoom功能。
发布于 2020-05-28 22:28:55
你不需要任何工具来做到这一点。只需在回调中更改所需范围即可。类似于:
b = Button()
def update():
p.x_range.update(start=0, end=1)
b.on_click(update)
该示例仅在与bokeh serve
一起使用时才起作用。如果您没有使用它,您可以重写代码以使用CustomJS
和js_on_click
。
https://stackoverflow.com/questions/62075001
复制