这是交互式绘图的首次尝试,所以欢迎任何帮助。
我正在尝试获得一个交互式的matplotlib图形,每次单击鼠标时都会绘制点。这些点将被绘制在单击位置和图像之上。我认为我已经找到了如何做到这一点,但我想知道是否有一种简单的方法来添加“撤消”按钮,以便在需要时删除最后绘制的点。同样,在相同的思路下,我也想添加“重置”(即删除所有点)和“保存”按钮。
from matplotlib import pyplot as plt
def onclick(event):
button=event.button
x=event.xdata
y=event.ydata
if button==1: plt.plot(x,y,'ro')
if button!=1: plt.plot(x,y,'bo')
print 'button=%d, x=%d, y=%d, xdata=%f, ydata=%f'%(
event.button, event.x, event.y, event.xdata, event.ydata)
im = plt.imread('Picture1.png')
fig, ax=plt.subplots()
ax.imshow(im)
ax.autoscale(False)
cid = fig.canvas.mpl_connect('button_press_event', onclick)
plt.show()