Python 如何在matplotlib中每次单击鼠标时绘制点

Python 如何在matplotlib中每次单击鼠标时绘制点,python,matplotlib,Python,Matplotlib,如何在matplotlib(python 3)中单击的点上绘制点/圆?此外,我想读取每个点的像素值。我曾尝试绘制圆,但每次读取不同的坐标值时,上一个圆都会被新圆覆盖。谢谢您必须在图中注册一个onclick事件。下面是一个绘制用户单击点的示例: import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(111) ax.set_xlim([0, 10]) ax.set_ylim([0, 10]) def onc

如何在matplotlib(python 3)中单击的点上绘制点/圆?此外,我想读取每个点的像素值。我曾尝试绘制圆,但每次读取不同的坐标值时,上一个圆都会被新圆覆盖。谢谢

您必须在图中注册一个
onclick
事件。下面是一个绘制用户单击点的示例:

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_xlim([0, 10])
ax.set_ylim([0, 10])

def onclick(event):
    print('button=%d, x=%d, y=%d, xdata=%f, ydata=%f' %
          (event.button, event.x, event.y, event.xdata, event.ydata))
    plt.plot(event.xdata, event.ydata, ',')
    fig.canvas.draw()

cid = fig.canvas.mpl_connect('button_press_event', onclick)
plt.show()

哇,非常感谢。谷歌搜索了将近一个小时,除了这个例子,Jupyter笔记本上什么都没用。我没有收到指纹,不知道Jupyter把它寄到哪里。。。在终端上看不到。我所做的和这段代码的唯一区别是,我试图在event.x,event.y处画一个点,而不是event.xdata,event.ydata。。其实很混乱。