Wyświetlam obraz jpg (obrócę go o 90 stopni, jeśli jest to istotne) i oczywiście , osie wyświetlają współrzędne pikseli. Chciałbym przekonwertować oś, aby zamiast wyświetlać liczbę pikseli, wyświetliłaby moją jednostkę wyboru - czy to radianów, stopni czy w moim przypadku astronomiczną współrzędną. Znam konwersję z piksela na (np.) Stopień. Oto fragment tego, co mój kod wygląda obecnie:Jak przekonwertować (lub skalować) wartości osi i przedefiniować częstotliwość znaczników w matplotlib?
import matplotlib.pyplot as plt
import Image
import matplotlib
thumb = Image.open(self.image)
thumb = thumb.rotate(90)
dpi = plt.rcParams['figure.dpi']
figsize = thumb.size[0]/dpi, thumb.size[1]/dpi
fig = plt.figure(figsize=figsize)
plt.imshow(thumb, origin='lower',aspect='equal')
plt.show()
... więc co wynika z tego, mogę podjąć każdą wartość matplotlib będzie drukować na osi oraz zmianę/zastąpienie go sznurkiem do wyjście zamiast? Chciałbym to zrobić dla konkretnego formatu współrzędnych - np. Zamiast kąta 10.44 (w stopniach), chciałbym, aby przeczytano 10 26 '24' '(tj. Stopnie, arcmins, arcsecs)
Wreszcie na ten temat, chciałbym kontroli nad częstotliwością kleszczy na działce. Matplotlib może drukować wartość osi co każde 50 pikseli, ale naprawdę chciałbym ją mieć w każdym (na przykład) stopniu.
Wygląda na to, że chciałbym zdefiniować jakąś tablicę z wartościami pikseli i ich przekonwertowanymi wartościami (stopniami itp.), Które chcę wyświetlić, mając kontrolę nad częstotliwością próbkowania w zakresie xmin/xmax.
Czy w serwisie Stack Overflow są eksperci matplotlib? Jeśli tak, bardzo dziękuję z góry za pomoc! Aby uczynić to bardziej uczącym się doświadczeniem, naprawdę doceniłbym bycie popchniętym w kierunku samouczków itp. Dotyczących tego rodzaju problemu z matplotlib. Stwierdziłem, że jestem bardzo zmieszany z osiami, osią, figurami, artystami itd.!
Cheers,
Dave
Dziękuję - działa to znakomicie. Jeszcze jeden komentarz. Kiedy używam plt.xticks, nie dostaję już pozycji x, y (spodziewam się tego jako pikseli pod dowolnym względem) myszy, gdy wyświetlany jest wykres. Jakiś pomysł, dlaczego tak się stało? – Dave
To * jest * dziwne - nigdy wcześniej tego nie zauważyłem. Nie wiem wystarczająco dużo o tym oknie GUI, aby zrobić rekomendację - może być dobrym pytaniem tutaj lub na liście dyskusyjnej matplotlib. –
Lepszym rozwiązaniem do konwersji współrzędnych jest użycie słowa kluczowego 'extent' przy używaniu imshow. – Phlya