jeśli zrobię wykres punktowy z matplotlib:matplotlib: jak opisać punkt na scatter automatycznie umieszczonej strzałki?
plt.scatter(randn(100),randn(100))
# set x, y lims
plt.xlim([...])
plt.ylim([...])
chciałbym opisywać dany punkt (x, y)
ze strzałką skierowaną do niego i etykiety. Wiem, że można to zrobić za pomocą annotate
, ale chciałbym, aby strzałka i jej etykieta były umieszczone "optymalnie" w taki sposób, aby jeśli to możliwe (biorąc pod uwagę obecne osie/ograniczenia), strzałka i etykieta nie pokrywają się z innymi punktami. np. jeśli chcesz oznaczyć punkt odstający. czy jest jakiś sposób na zrobienie tego? nie musi to być doskonałe, ale tylko inteligentne umieszczenie strzałki/etykiety, z podaniem jedynie współrzędnych punktu, który ma być oznaczony. dzięki.
Na marginesie, "scatter" nie jest przeznaczony do tego, co robisz. Użyj go, gdy chcesz wykreślić 3 lub 4-wymiarowe dane, zmieniając kolor i/lub rozmiar znaczników. Nie używaj go, gdy potrzebujesz punktów. Nie ma nic niewłaściwego w używaniu go do punktów, ale zwróci kolekcję, która jest bardziej skomplikowana niż obiekt Line2D, który "zwraca". –