下面是一个简单的例子:
import matplotlib.pyplot as plt
from random import random
def onpick(event):
if event.artist == plt1:
print("Picked on top plot")
elif event.artist == plt2:
print("Picked on bottom plot")
first = [random()*i for i in range(10)]
second = [random()*i for i in range(10)]
fig = plt.figure(1)
plt1 = plt.subplot(211)
plt.plot(range(10), first)
plt2 = plt.subplot(212)
plt.plot(range(10), second)
plt1.set_picker(True)
plt2.set_picker(True)
fig.canvas.mpl_connect('pick_event', onpick)
plt.show()
请注意,您必须呼吁应触发此事件的次要情节set_picker(True)
!如果您不这样做,即使您已将事件设置在画布上,也不会发生任何事情。
如需进一步阅读,请从matplotlib网站获取PickEvent
documentation和pick handling demo。
所以我搜索的判别信息是在event.artist中,谢谢。你真的解决了我的问题 –