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

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

最佳答案

假设你应该在一个类中使用它并引用下面的 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()

关于python matplotlib 使用按钮事件添加和删除文本到图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5600370/

相关文章:

python - 查询集 : LEFT JOIN with AND

python - Matplotlib:隐藏在主轴背景后面的双胞胎图

python - 如何使用加权邻接矩阵绘制边权重?

python - 在 Plotly 中更改/更新 xtick 标签和 ytick 标签不一致

Python Matplotlib 自定义样式报错

python - 在python中解析xml内容

python - 自动打印姓氏

python - Django Rest Framework 说需要非必填字段

python - 绘制给定点集的轮廓

python - 测试嵌套列表中的相等性并将结果附加到另一个列表中?