Сохранить точки нажатия на интерактивном графике
Я хотел бы создать интерактивную фигуру matplotlib, которая циклически перебирает различные наборы точек и возвращает точки, выбранные из фигуры. Я бы хотел сохранить точки, на которые нажали мышь, и пролистать наборы точек, используя нажатие клавиатуры.
В приведенном ниже коде приведен пример, но в данный момент точки, которые щелкнули, выводятся на консоль Я не могу понять, как сохранить эти точки в виде списка. Большое спасибо.
import numpy as np
import matplotlib.pyplot as plt
def onpick(event):
thisline = event.artist
xdata = thisline.get_xdata()
ydata = thisline.get_ydata()
ind = event.ind
points = tuple(zip(xdata[ind], ydata[ind]))
print('onpick points:', points)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_title('click on points')
data = np.random.rand(100)
plt.ion()
ii = 0
while ii < 50:
line, = ax.plot(data[0:ii],'o', picker=5)
fig.canvas.draw()
fig.canvas.mpl_connect('pick_event', onpick)
while not plt.waitforbuttonpress(): pass
plt.pause(1)
ii = ii + 25