我在一个带有mouseover事件的绘图中创建了一条垂直线和一条水平线。这些线旨在帮助用户选择在绘图中单击的位置。
我的问题是,当鼠标移动到绘图上时,先前绘制的线不会消失。
有人能给我解释一下怎么做吗?
我用过斧头线.pop()在OnOver函数中绘制绘图后,但这不起作用。在
这是我正在使用的代码
from matplotlib import pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(np.random.rand(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)
def OnOver(event):
x = event.xdata
y = event.ydata
ax.axhline(y)
ax.axvline(x)
plt.draw()
did = fig.canvas.mpl_connect('motion_notify_event', OnOver)
#iii = fig.canvas.mpl_disconnect(did) # get rid of the click-handler
cid = fig.canvas.mpl_connect('button_press_event', OnClick)
plt.show()
提前谢谢你的帮助。 Ivo公司
您需要删除不需要的行。例如
这既不健壮也不高效。
而不是不断地创造和破坏线,我们可以只画一次,并不断更新。在
^{pr2}$在这里,我使用了全局变量,并在查看区域绘制了“十字线”。它可以画在它的外面或者不让它可见,但是你得到了这个想法。在
我不知道实现这一目标的最佳方式。在
相关问题 更多 >
编程相关推荐