2017-09-04 2 views
0

私は同じグラフ上にプロット3を持っているため単一のツールチップ(ボケ0.12.7)ボケ:複数のプロット

私はこのように、3つのグラフのすべてのデータの要約を持つ単一のツールチップを表示したい

single tooltip with summary

が、マウスポインタが、この場合のように、複数のプロットに近すぎるときはいつでも私は2/3オーバーラップ(及び同一の)ツールヒントを得る:

enter image description here

ツールチップを1つのプロットに制限することはできますが、これはマウスポインタが他の2つのコンポーネントに接触すると何も起こらないことを意味します:次のコードでは、HoverToolのnamesパラメータを使用して、 。

すべてのプロットに反応する単一のホフトールを持つ方法はありますか?

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」に変更することです。これは、ユーザーがマウスをプロットウィンドウの左から右に動かすと、ホバーが表示されることを意味します。その後、すでに行ったように、ホバーのツールチップをグリフだけに制限することができます。

これは望ましくない場合は、現在のところ、より良い方法があるかどうかはわかりませんので、短期間で作業する必要があるかもしれません。

最初にhovertoolをインスタンス化するときに、「モード」属性の下でボケ文書ごとにVlineを設定できます。 http://bokeh.pydata.org/en/latest/docs/reference/models/tools.html#bokeh.models.tools.HoverTool.mode

+0

ありがとう、@Anthonydouc。 私はすでに試してみましたが、** vline **でも3つのツールチップが一緒に表示されていました。私は、あなたが言うように、**名前**を使用してツールチップを1行にリンクすることはできますが、消えると(私は他のものを表示させたまま線を隠すことができます)、ツールチップは消えてしまいます。 あなたは私に考えを与えました:グラフの中央に定数yの余分な「ほとんど見えない」プロットを追加します(バックグラウンドと同じ色で、伝説はありません)、ツールチップをこれにのみリンクします。 また、マウスを動かすときに狂ったようにツールチップが上下に移動する問題を解決します。 –

+0

はい、残念ながらクリーンな解決策ではありません。私は、それが問題を引き起こすならば、行の可視性に応じて隠れて、ホバーのツールチップを表示する代わりになると思っていますが、それには多くの問題がありました。 http://www.aither.com.au/water-markets/aither-southern-mdb-entitlement-index1/ここにある例(bokehを使用) – Anthonydouc

関連する問題