2016-03-30 6 views
0

MPLD3でツールチップの例を試しました。しかし、私の姿では、リンクされたx軸を持ついくつかのサブプロットがあります(データの長さは同じですが、データフレームの別の列をプロットしています)。以下のコードで、最後のサブプロットでマウスを動かすとツールチップが表示されました。しかし、私はどのサブプロットでもマウスを動かすと、そのようにしたいと思います。それをどうすれば実現できますか?私はそれがLinkedBrushの例のようなものでなければならないと思う。さまざまな数のサブプロットを処理するためのプラグインの書き方がわかりません。MPLD3のリンクされたサブプロットにツールチップを使用することはできますか

次のコードは、下位のサブプロットにツールチップがある図を作成します。

import matplotlib.pyplot as plt 
import numpy as np 
import mpld3 
from mpld3 import plugins, utils 
N=30 
fig, axes = plt.subplots(3, 1, figsize=(6,10), sharex='col') 
for i in range(3): 
    points1=axes[i].scatter(range(N),np.random.random(size=N), color='b',marker='.') 
labels0 = [ 'point {0}'.format(i + 1) for i in range(N)] 
tooltip = plugins.PointLabelTooltip(points1, labels0) 
plugins.connect(fig, tooltip) 
mpld3.save_html(fig, 'test.html') 
+0

あなたがこの完全な例にする 'sub'ためのいくつかのシミュレートされたデータを追加することはできますか? http://stackoverflow.com/help/mcve –

+0

申し訳ありません。簡単な例を追加して質問を説明しました。 – user3569263

+1

ループの 'plugins.connect'行に' labels0 = ... 'を置くだけで、より複雑なものができればと思っています(http://nbviewer.jupyter.org/gist/aflaxman/453e557a69eb6b794290075065794630)。 ) –

答えて

1

あなたのループにツールチップの作成コードを置くことによって、これを達成:

import matplotlib.pyplot as plt 
import numpy as np 
import mpld3 
from mpld3 import plugins, utils 
N=30 
fig, axes = plt.subplots(3, 1, figsize=(6,10), sharex='col') 
for i in range(3): 
    points1=axes[i].scatter(range(N),np.random.random(size=N), color='b',marker='.') 
    labels0 = [ 'point {0}'.format(i + 1) for i in range(N)] 
    tooltip = plugins.PointLabelTooltip(points1, labels0) 
    plugins.connect(fig, tooltip) 
mpld3.save_html(fig, 'test.html') 
関連する問題