散景:多个绘图的单个工具提示

Bokeh: Single tooltip for multiple plots

我在同一张图上有 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)

一个可能的解决方法是将悬停模式更改为 "vline"。这意味着当用户在绘图 window 的任何地方从左向右移动鼠标时,悬停将出现。然后你可以像你已经做的那样将悬停工具提示限制在字形上。

显然,如果这不是我们想要的,我不确定目前是否有更好的方法,所以它可能只需要在已解决的简短 term/until 中工作。

当您第一次实例化 hovertool 时,可以根据 "mode" 属性下的散景文档设置 Vline。 http://docs.bokeh.org/en/latest/docs/reference/models/tools.html#bokeh.models.tools.HoverTool.mode