Question

Comment puis-je feuillette l'origine d'une parcelle de matplotlib être dans le coin supérieur gauche - par opposition à la valeur par défaut en bas à gauche? J'utilise matplotlib.pylab.plot pour produire l'intrigue (mais s'il y a une autre routine traçante qui est plus souple, s'il vous plaît laissez-moi savoir).

Je cherche l'équivalent de la commande matlab: axe ij;

En outre, j'ai passé quelques heures à surfer aide matplotlib et Google mais qui ne sont pas une réponse. Quelques informations sur l'endroit où je pouvais avoir recherché la réponse serait utile aussi bien.

Était-ce utile?

La solution

Pour une parcelle d'image ou le contour, vous pouvez utiliser le mot-clé origin = None | 'lower' | 'upper' et pour une parcelle de ligne, vous pouvez définir les ylimits haut en bas.

from pylab import *
A = arange(25)/25.
A = A.reshape((5,5))

figure()
imshow(A, interpolation='nearest', origin='lower')

figure()
imshow(A, interpolation='nearest')

d = arange(5)
figure()
plot(d)
ylim(5, 0)

show()

Autres conseils

Le plus simple est d'utiliser:

plt.gca().invert_yaxis()

Après avoir comploté l'image. Origin ne fonctionne que pour imshow.

axis ij fait que l'axe des y augmentent vers le bas au lieu de vers le haut, à droite? Si oui, alors matplotlib.axes.invert_yaxis() peut-être tout ce que vous avez besoin - -. mais je ne peux pas tester ce moment

Si cela ne fonctionne pas, j'ai trouvé un poste de diffusion suggérant que

setp(gca(), 'ylim', reversed(getp(gca(), 'ylim')))

peut faire ce que vous voulez ressembler à axis ij.

Ce qui suit est un moyen de base pour y parvenir

ax=pylab.gca()

ax.set_ylim(ax.get_ylim()[::-1])

plt.ylim(max(plt.ylim()), min(plt.ylim()))

a un avantage sur cette

plt.gca().invert_yaxis()

et est que si vous êtes en mode interactif et vous tracer plusieurs fois sur la même parcelle (peut-être avec des données mises à jour et ayant un point d'arrêt après le tracé) l'axe y ne gardera pas inverser chaque fois.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top