我在同一个图表上有3个图(Bokeh 0.12.7)
我想显示一个工具提示,其中包含3个图表的所有数据摘要,如下所示:
但只要鼠标指针太靠近多个绘图,我就会获得2/3重叠(和相同)的工具提示,如下例所示:
可以将工具提示限制为单个绘图,但这意味着如果鼠标指针触及另外两个,则不会发生任何事情:在以下代码中,我使用HoverTool中的参数names
将工具提示应用于仅限第一个情节。
有没有办法让单个hovertool对所有情节做出反应?
COMMON_PARAM = dict(x="date_time", source=self.data_source, line_alpha=GRAPH_LINE_ALPHA, line_width=GRAPH_LINE_WIDTH)
line1 = self.figure.line(y=f1,
line_color=GRAPH_LINE_1_COLOR,
name="line_with_hovertool",
**COMMON_PARAM)
line2 = self.figure.line(y=f2,
line_color=GRAPH_LINE_2_COLOR,
**COMMON_PARAM)
line3 = self.figure.line(y=f3),
line_color=GRAPH_LINE_3_COLOR,
**COMMON_PARAM)
hover = HoverTool(
names=["line_with_hovertool"], # applies only to line1
tooltips=
"""
....
""")
self.figure.add_tools(hover)
答案 0 :(得分:0)
可能的解决方法是将悬停模式更改为“vline”。这意味着当用户在绘图窗口的任何位置从左向右移动鼠标时,将显示悬停。然后,您可以将悬停工具提示限制为仅在字形上,就像您已经完成的那样。
显然,如果这不可取,我不确定目前是否有更好的方法,所以它可能只需要在短期内工作/直到解决。
当您第一次实例化hovertool时,可以根据“mode”属性下的散景文档设置Vline。 http://bokeh.pydata.org/en/latest/docs/reference/models/tools.html#bokeh.models.tools.HoverTool.mode