Обработчик pick_event клина не вызывается - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть приведенный ниже код для отображения клина, и я хотел бы сделать что-то, как только пользователь нажмет на патч.Поэтому я подключил обработчик к "pick_event" и включил выбор патча, передав ключевое слово picker=True arg.

Все в порядке, кроме случаев, когда я нажимаю на патч, ничего не происходит, т.е. обработчикКажется, не вызывается.

Может кто-нибудь воспроизвести проблему или предложить исправление?

from matplotlib.patches import Wedge
from matplotlib.collections import PatchCollection
import matplotlib.pyplot as plt

patches = [Wedge((5., 5.), 0.5, 30., 330., picker=True)]

fig, ax = plt.subplots()
ax.add_collection(PatchCollection(patches))
ax.set_xlim([0, 10.])
ax.set_ylim([0, 10.])

fig.canvas.mpl_connect('pick_event', lambda evt: print(evt))

plt.show()

Когда я добавляю еще один ax.scatter([2.5], [2.5], picker=True) и нажимаю на эту точку вместо этого, обработчик вызывается правильно.

1 Ответ

1 голос
/ 19 сентября 2019

Я думаю, вам нужно использовать функцию set_picker PatchCollection.Я не пытался, но я нашел что-то подобное в документации. документация set_picker

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...