選択イベントを使用します。
マーカーをクリックしたときに散布図に注釈を追加する簡単な例:
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