0

私はmatplotlibで作成した散布図を持っています.[(1,'A' 2),(2,'B',0),(0,'D',3)]のようなタプルのリストもあります.グラフ上の特定のプロットに関連付ける必要があること。ポイントをクリックすると、特定のポイントが表示される、またはそれらがグラフの下部にあり、異なるシーケンスに関連する異なる色のポイントが表示され、特定の色のポイントをクリックすると、グラフ上のポイントも関連することが強調表示されます

これらのいずれかがmatplotlibを使用して可能かどうか疑問に思っていました.もしあれば、使用するのに適したウェブサイトやこれを行うための特定の方法はありますか?

前もって感謝します

4

1 に答える 1

1

選択イベントを使用します。

マーカーをクリックしたときに散布図に注釈を追加する簡単な例:

N = 12
x = arange(N)
y = arange(N)
labels = [unichr(ord('a') + j) for j in range(N)]

def onpick(event):
    print labels[event.ind[0]]


fig = figure()
ax1 = fig.add_subplot(111)
col = ax1.scatter(x, y, 50,  picker=True)
#fig.savefig('pscoll.eps')

def onpick(event):
    ind = event.ind[0]
    print labels[ind]
    ax1.annotate(labels[ind], (x[ind], y[ind]), xytext=(x[ind] -1, y[ind] + 1),
                 arrowprops=dict(facecolor='black', shrink=0.05))
    fig.canvas.draw()

fig.canvas.mpl_connect('pick_event', onpick)

(これは、インポートを正しく行うために --pylab で ipython を開始したことを前提としています)

のコードを、必要なことを実行するコードに置き換えることができonpickます (クロージャーが存在することを思い出してください)。

これは素晴らしいデモのセットです。

こちらもご覧くださいmpldatacursor

于 2013-01-26T16:48:12.400 に答える