只需将mpl_connect调用一次即可将事件连接到事件处理程序。它将开始监听点击事件,直到您断开连接。你可以使用
fig.canvas.mpl_disconnect(cid)
断开事件挂钩。
您想要做的是这样的:
import numpy as npimport matplotlib.pyplot as pltx = np.arange(-10,10)y = x**2fig = plt.figure()ax = fig.add_subplot(111)ax.plot(x,y)coords = []def onclick(event): global ix, iy ix, iy = event.xdata, event.ydata print 'x = %d, y = %d'%( ix, iy) global coords coords.append((ix, iy)) if len(coords) == 2: fig.canvas.mpl_disconnect(cid) return coordscid = fig.canvas.mpl_connect('button_press_event', onclick)


