python matplotlib使用按钮事件添加和删除文本

nee*_*elp 4 python matplotlib

我正在尝试在调用button_press_event时在鼠标指针位置向图形添加文本,并在调用button_release_event时将其删除.我已经成功添加了文本,但我无法将其删除.这是我使用的代码的一部分:

def onclick(event):
    print 'you pressed', event.button, event.xdata, event.ydata
    plt.text(event.xdata, event.ydata, 'TESTTEST', fontsize=8)
    fig.canvas.draw()

def offclick(event):
    print 'you released', event.button, event.xdata, event.ydata
    #not sure what to put here
    #I tried:
    #plt.text(event.xdata, event.ydata, '')
    fig.canvas.draw()

fig.canvas.mpl_connect('button_press_event', onclick)
fig.canvas.mpl_connect('button_release_event', offclick) 

plt.show()
Run Code Online (Sandbox Code Playgroud)

neu*_*ino 10

假设您应该在类中使用它并参考以下内容,txt因为self.txt我在这里使用global是为了方便起见:

txt = None

def onclick(event):
    global txt
    txt = plt.text(event.xdata, event.ydata, 'TESTTEST', fontsize=8)
    fig.canvas.draw()

def offclick(event):
    txt.remove()
    fig.canvas.draw()

fig.canvas.mpl_connect('button_press_event', onclick)
fig.canvas.mpl_connect('button_release_event', offclick) 

plt.show()
Run Code Online (Sandbox Code Playgroud)