使用 Bokeh widget/callback 控制 Bokeh xwheel_zoom 工具
Control the Bokeh xwheel_zoom tool using a Bokeh widget/callback
我正在使用 xwheel_zoom (WheelZoomTool) 制作带有日期时间轴的散景图。
p = figure(x_axis_type="datetime", tools='xwheel_zoom, crosshair, undo, reset')
我提供 pandas 时间戳作为该图表的 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 下拉菜单)控制它来实现此缩放功能?
我的 objective 是有一个按钮可以点击并让它显示最近一小时的放大 x_axis,或者显示我定义的日期时间段之间的图表。理想情况下,我不想再次 re-define/re-draw 图表,只想控制 xwheel_zoom 功能。
你不需要任何工具来做到这一点。只需在回调中更改所需的范围。类似于:
b = Button()
def update():
p.x_range.update(start=0, end=1)
b.on_click(update)
该示例仅在与 bokeh serve
一起使用时才有效。如果您不使用它,您可以重写代码以使用 CustomJS
和 js_on_click
.
我正在使用 xwheel_zoom (WheelZoomTool) 制作带有日期时间轴的散景图。
p = figure(x_axis_type="datetime", tools='xwheel_zoom, crosshair, undo, reset')
我提供 pandas 时间戳作为该图表的 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 下拉菜单)控制它来实现此缩放功能?
我的 objective 是有一个按钮可以点击并让它显示最近一小时的放大 x_axis,或者显示我定义的日期时间段之间的图表。理想情况下,我不想再次 re-define/re-draw 图表,只想控制 xwheel_zoom 功能。
你不需要任何工具来做到这一点。只需在回调中更改所需的范围。类似于:
b = Button()
def update():
p.x_range.update(start=0, end=1)
b.on_click(update)
该示例仅在与 bokeh serve
一起使用时才有效。如果您不使用它,您可以重写代码以使用 CustomJS
和 js_on_click
.