python matplotlib добавляет и удаляет текст на рисунке, используя события кнопок - PullRequest
4 голосов
/ 09 апреля 2011

Я пытаюсь добавить текст к графику в месте расположения указателя мыши при вызове 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()

1 Ответ

10 голосов
/ 09 апреля 2011

Предполагая, что вы должны использовать его в классе и ссылаться на следующее 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...