2013-08-14 11 views
8

Używam pyplot z matplotlib i chciałbym wyświetlić niektóre dane jako obraz. Kiedy używam imshow() dane są odwracane ze sposobu, w jaki chcę je zobaczyć. Jak przełączyć osie X i Y z imshow() lub z tablicą numpy, zanim wyślę ją do imshow()?Odwróć osie x i y dla Matplotlib imshow()

(tj Chcę oś pozioma być pionowa)

Próbowałem za pomocą origin='upper' i origin='lower' w komendzie w imshow(), ale to po prostu odwraca jedną oś zamiast przełączania je wokół

ja już również spróbował wykorzystać reshape na dane, ale kolejność dostaje wszystko pomieszane

+2

transpozycji numpy tablicy. 'arr = arr.T' – Daniel

+0

Wow, to było bardzo proste, dziękuję! – Brent

Odpowiedz

12

by zamknąć pytanie-

trzeba transponować macierz być numpy dziobowy przekazaniem go do matplotlib:

>>> a 
array([[0, 1], 
     [2, 3]]) 
>>> a=a.T 
>>> a 
array([[0, 2], 
     [1, 3]]) 

Więc za pomocą plt powinno to być po prostu:

plt.imshow(a.T) 
+1

Myślę, że warto wspomnieć w swojej odpowiedzi, że można po prostu przekazać słowo kluczowe pochodzenia, aby imshow. – pelson

Powiązane problemy