Я пытаюсь написать скрипт для интерактивного построения графика рассеяния с помощью matplotlib.Для меня важно удалить некоторые точки с помощью события щелчка мыши или кнопки удаления на клавиатуре.Моя цель - очистить график от нежелательных точек и сгенерировать новый фрейм данных с чистыми точками.Я потратил целый день, пытаясь понять это и мог написать этот сценарий.
Буду признателен за любые предложения.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [2, 5, 6, 5]
def onpick(event):
this_artist = event.artist
print(this_artist)
plt.gca().picked_object = this_artist
def on_key(event):
if event.key == u'delete':
ax = plt.gca()
if ax.picked_object:
ax.picked_object.remove()
ax.picked_object = None
ax.figure.canvas.draw()
fig, ax = plt.subplots()
ax= plt.scatter(x,y)
fig.canvas.mpl_connect('pick_event', onpick)
cid = fig.canvas.mpl_connect('key_press_event', on_key)
plt.show()