Inverser l'image affichée par imshow dans matplotlib

88

Je voulais que la imshow()fonction matplotlib.pyplotaffiche les images dans le sens inverse, c'est à dire à l'envers. Existe-t-il un moyen simple de procéder?

pratikm
la source

Réponses:

165

Spécifiez l'argument mot-clé origin='lower'ou origin='upper'dans votre appel à imshow.

wim
la source
pourquoi la valeur par défaut diffère-t-elle sur différentes machines? Existe-t-il un moyen de définir la valeur par défaut? Merci pour cette réponse néanmoins, dans le passé, j'ai essayé de résoudre ce problème en utilisant des retournements de matrice et d'autres choses. C'est beaucoup plus facile!
Milla Well
probablement à cause de différentes versions de pyplot (ils ont changé la convention quelque part de 0,0 en haut à gauche en bas à gauche)
wim
1
Et si vous souhaitez le déplacer dans le sens des aiguilles d'une montre.
Rahmi Pruitt
-10

ajoutez .T après les données que vous souhaitez tracer

plt.imshow(data.T)

Cela "transposera" les données

Ben Pickering
la source
Cela suppose que les données affichées sont un tableau Numpy et non une liste ou une autre structure. Plus précisément, appeler .Tsignifie appelernumpy.ndarray.T
RegularlyScheduledProgramming
14
La transposition est un retournement en diagonale. Les utilisateurs voulaient un retournement vertical.
wim