【问题标题】:python matplotlib add and remove text to figure using button eventspython matplotlib使用按钮事件添加和删除文本到图形
【发布时间】:2011-04-08 20:20:53
【问题描述】:

我试图在调用 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()

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    假设你应该在一个类中使用它并将以下txt 称为self.txt 为了方便起见我在这里使用全局:

    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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      相关资源
      最近更新 更多