2017-09-04 54 views
0

我在同一张图3个地块单提示(背景虚化0.12.7)背景虚化:多个地块

我想表明与3个的图形的所有数据的汇总单提示,像这样:

single tooltip with summary

但我得到2/3重叠(和相同的)提示,只要鼠标指针太靠近多条曲线,像在这种情况下:

enter image description here

它可以限制工具提示到一个情节,但是这意味着什么都不会发生,如果将鼠标指针触及其他两个:在下面的代码我用参数names在HoverTool的提示适用于第一个情节的惟一。

有没有办法有一个反应的所有情节单一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

可能的解决办法是将悬停模式更改为“vline”。这意味着当用户在绘图窗口的任何地方将鼠标从左到右移动时,鼠标悬停就会出现。然后,您可以将悬停工具提示限制在字形上,就像您已经完成的那样。

显然,如果这是不可取的,我不知道是否有是当前一个更好的办法,所以它可能只是在短期内/工作,直到被解决。

V线可以在“mode”属性设置为每背景虚化的文档时先初始化hovertool。 http://bokeh.pydata.org/en/latest/docs/reference/models/tools.html#bokeh.models.tools.HoverTool.mode

+0

谢谢你,@Anthonydouc。 我已经尝试过,但看到即使** vline **所有3个工具提示一起出现。正如你所说,我可以使用**名称**将工具提示链接到单一行,但随着它消失(我可以隐藏一条线,使其他行可见),工具提示消失了。 但是,你给了我一个想法:我会在图形(与相同颜色的背景,没有传说)的中间增加一个额外的“几乎看不见”的情节与不断Y,并将该工具提示链接到这个只。 我也将解决在移动鼠标时如何疯狂地上下移动工具提示的问题。 –

+0

是的,不幸的是它不是一个干净的解决方案。我认为另一种方法是根据线条的可见性隐藏和显示悬停工具提示,如果这会导致任何问题,但我有很多问题。 http://www.aither.com.au/water-markets/aither-southern-mdb-entitlement-index1/示例在这里(使用散景) – Anthonydouc