W R, istnieje funkcja locator
, która jest podobna do Matlaba ginput
, gdzie można kliknąć figurę za pomocą myszy i wybrać dowolną współrzędną x, y. Ponadto istnieje funkcja o nazwie identify(x,y)
, w której jeśli podasz mu zestaw punktów x, y, które wykreśliłeś, a następnie klikniesz na figurę, zwróci indeks punktu x, y, który leży najbliżej (w ramach regulowanej tolerancja) do wybranej lokalizacji (lub wielu wskaźników, jeśli wybrano wiele punktów). Czy istnieje taka funkcjonalność w Matplotlib?matplotlib - interaktywnie wybierz punkty lub lokalizacje?
14
A
Odpowiedz
12
Możesz użyć pick event:
fig = figure()
ax1 = fig.add_subplot(111)
ax1.set_title('custom picker for line data')
line, = ax1.plot(rand(100), rand(100), 'o', picker=line_picker)
fig.canvas.mpl_connect('pick_event', onpick2)
Tolerancja ustawiony przez parametr kompletowania tam:
line, = ax1.plot(rand(100), 'o', picker=5) # 5 points tolerance
+0
Tak, to jest świetne - dziękuję! – hatmatrix
5
from __future__ import print_function
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D
from matplotlib.patches import Rectangle
from matplotlib.text import Text
from matplotlib.image import AxesImage
import numpy as np
from numpy.random import rand
if 1:
fig, ax = plt.subplots()
ax.set_title('click on points', picker=True)
ax.set_ylabel('ylabel', picker=True, bbox=dict(facecolor='red'))
line, = ax.plot(rand(100), 'o', picker=5)
def onpick1(event):
if isinstance(event.artist, Line2D):
thisline = event.artist
xdata = thisline.get_xdata()
ydata = thisline.get_ydata()
ind = event.ind
print 'X='+str(np.take(xdata, ind)[0]) # Print X point
print 'Y='+str(np.take(ydata, ind)[0]) # Print Y point
fig.canvas.mpl_connect('pick_event', onpick1)
+2
Jeśli importujesz funkcję drukowania z przyszłości, musisz dodać układy: print ('X =' + str (np.take (xdata, ind) [0])) –
Powiązane problemy
- 1. Interaktywnie zmień wybory selectInput
- 2. Jak uruchomić setq interaktywnie
- 3. Docelowe lokalizacje danych SSIS
- 4. Matplotlib - Narysuj płaszczyznę i punkty w 3D jednocześnie
- 5. Matplotlib - punkty etykietowania (x, y) na linii o wartości z
- 6. Wybierz ..... gdzie .... LUB
- 7. Dwie lokalizacje gacutil.exe
- 8. Unicode lub co w matplotlib?
- 9. Przedrzeźniające lokalizacje GPS w phonegapie
- 10. Jak wyodrębnić punkty z wykresu?
- 11. Skutecznie Szukaj Najbliższe lokalizacje geograficzne
- 12. wybierz tylko poddokumenty lub tablice
- 13. Usunąć nieużywane lokalizacje z APK
- 14. Jak narysować prostokątny obszar na dużej mapie google i bazie danych zapytań, aby znaleźć lokalizacje/punkty istniejące wewnątrz prostokąta?
- 15. Podane współrzędne GPS, jak znaleźć pobliskie punkty orientacyjne lub punkty szczególne?
- 16. Jak interaktywnie rozwinąć polecenie bang w bash?
- 17. OpenGL - Czy należy przechowywać atrybuty/jednolite lokalizacje?
- 18. punkty łączące
- 19. kreślenie pojedyncze punkty na wykresie
- 20. Włączanie lub wyłączanie opcji z wybierz
- 21. MySQL: Pytanie o WYBIERZ GDZIE I/LUB
- 22. SQL Wybierz lub wstaw ID zwrotu
- 23. JavaFX FileChooser wybierz pliki i/lub katalogi?
- 24. powierzchnie działek w matplotlib
- 25. Znajdź lokalizacje folderów systemowych w Pythonie
- 26. Lokalizacje szablonów i plików statycznych w Django
- 27. wiosna-boot Usuń lokalizacje atrybuty @ConfigurationProperties
- 28. obliczyć punkty zwrotne/punkty obrotu w trajektorii (ścieżka)
- 29. Punkty klastra w PostGIS
- 30. Jak ustalić, czy mój proces jest uruchamiany interaktywnie?
FWIW: Jest też 'iselect()' w 'pakietu iplots' (dla R). Jest to uogólnienie: obejmuje ono łączenie i szczotkowanie. To samo można zrobić za pomocą funkcji 'get (, 'BrushData')' w Matlabie. – Iterator
Dobrze, a także Rggobi. Ale nie zdawałem sobie sprawy z możliwości Matlaba - ostatnio użyłem go intensywnie w czasach wersji 6.5. Wydaje się, że od tego czasu nabieram ochoty. – hatmatrix
Fancy i drogie. Koszt R również potroił się w ciągu ostatniej dekady, ale nadal jest to okazja. :) – Iterator