Я пытаюсь использовать matplotlib для построения некоторых данных, а затем использую pick_event, чтобы выбрать точку данных.Это уже работает с кодом ниже.Теперь я хочу добавить, например, axvline в позиции выбранной точки данных.Возможно ли это?
Приведенный ниже код работает, как я ожидаю, но строка "ax.axvline (xdata [idx [0]]", кажется, игнорируется. Может быть, сюжет нужно обновить или что-то в этом роде?
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.set_title('My first picker')
ax.plot([10, 20, 30],[100, 400, 900], 'o', picker=5)
def onpick(event):
thismarker = event.artist
xdata = thismarker.get_xdata()
idx = event.ind
ax.axvline(xdata[idx[0]])
print(xdata[idx[0]])
print('You picked point: ' + str(idx[0]))
fig.canvas.mpl_connect('pick_event', onpick)
Ожидаемый результат: Появляется вертикальная линия в точке данных, по которой выполняется щелчок. Фактический результат: Событие выбора работает, поскольку оно печатает позицию X и номер выбранной точки данных, но вертикальной линии не появляется.