uzyskiwanie x, y z wykresu rozproszonego z wieloma zestawami danych?

Mam działkę rozproszoną, która składa się z różnych wezwańrozpraszać:

import matplotlib.pyplot as plt
import numpy as np

def onpick3(event):
    index = event.ind
    print '--------------'
    print index
    artist = event.artist
    print artist

fig_handle = plt.figure()

x,y = np.random.rand(10),np.random.rand(10)
x1,y1 = np.random.rand(10),np.random.rand(10)

axes_size = 0.1,0.1,0.9,0.9
ax = fig_handle.add_axes(axes_size)

p = ax.scatter (x,y, marker='*', s=60, color='r', picker=True, lw=2)
p1 = ax.scatter (x1,y1, marker='*', s=60, color='b', picker=True, lw=2)

fig_handle.canvas.mpl_connect('pick_event', onpick3)
plt.show()

Chciałbym, aby punkty były klikalne i uzyskać x, y wybranych indeksów. Jednak od tego czasuscatter jest wywoływany więcej niż raz, otrzymuję te same indeksy dwa razy, więc nie mogę ich używaćx[index] w środkuonpick3 metoda

Czy istnieje prosty sposób na zdobycie punktów?

Wygląda na to żeevent.artist oddaje to samoPathCollection który jest zwróconyscatter (p ip1 w tym przypadku). Ale nie mogłem znaleźć sposobu, aby go użyć do wyodrębnieniax,y wybranych indeksów Próbowano użyćevent.artist.get_paths() - ale wydaje się, że nie oddaje wszystkich punktów rozproszenia, ale tylko ten, który kliknąłem .. więc nie jestem pewien, coevent.artist oddaje i jakie sąevent.artist.get_paths() funkcja oddaje

EDYTOWAĆ

wygląda na to żeevent.artist._offsets daje tablicę z odpowiednimi przesunięciami, ale z jakiegoś powodu podczas próby użyciaevent.artist.offsetsdostaję

AttributeError: 'PathCollection' object has no attribute 'offsets'

(chociaż jeśli rozumiemdocs, powinno tam być

questionAnswers(1)

yourAnswerToTheQuestion