我刚开始使用bokeh,期待想知道是否有办法实现以下内容:
我有一个过去1年的财务数据: 我想创建一些特殊工具,允许我: - 第一个月点击一次缩放的特殊缩放 - 一次特殊的缩放/平移,一次向前移动1个月,并将图表的高度调整为可见数据
这可以在散景中实现吗? 我认为这意味着调整原始缩放/平移定义并使用它们创建新工具。
答案 0 :(得分:1)
以下是使用taptool的示例,这对您有用吗?每次单击都会查看绘图区域的10个单位间隔。要调整数据图,您可以从源数据中找到最大值和最小值,并更改y范围结束并开始。
from bokeh.models import ColumnDataSource, BoxSelectTool,TapTool, HoverTool
from bokeh.plotting import figure
from bokeh.io import curdoc
source2 = ColumnDataSource(data=dict(x=[0,100],y=[0,100]))
taptool = TapTool()
p = figure(plot_width=400,
plot_height=400,
tools=[taptool],
title="Select Below")
p.circle(x='x',y='y',source=source2)
""" initial x-range is 0, 100"""
p.x_range.start = 0
p.x_range.end = 100
def tool_events_callback(attr, old, new):
if(p.x_range.end == 100):
p.x_range.end = p.x_range.start + 10
p.x_range.start = p.x_range.end - 10
else:
p.x_range.start = p.x_range.start + 10
p.x_range.end = p.x_range.start + 10
p.tool_events.on_change('geometries', tool_events_callback)
p.add_tools(BoxSelectTool(), HoverTool())
curdoc().add_root(p)