Matplotlib/pyplot: Comment faire respecter l'axe de gamme?
Je voudrais attirer un standard 2D graphique avec pylot, mais la force de l'axe des valeurs entre 0 et 600 sur le x, et le 10k et 20k sur l'axe. Laissez-moi aller avec un exemple...
import pylab as p
p.title(save_file)
p.axis([0.0,600.0,1000000.0,2000000.0])
#define keys and items elsewhere..
p.plot(keys,items)
p.savefig(save_file, dpi=100)
Cependant, les axes de toujours s'adapter à la taille des données. Je suis d'interpréter l'effet de p.axe d'établir ce que le max et le min pourrait être, à appliquer à la valeur max ou min. La même chose se passe lorsque j'essaie d'utiliser p.xlim (), etc.
Toutes les pensées?
Grâce.
- Dans les ajouts pour les réponses ci-dessous, le lien direct pour 'axis' doc : matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.axis
Vous devez vous connecter pour publier un commentaire.
Appel
p.plot
après le réglage de la limite est pourquoi il est du changement d'échelle. Vous avez raison que le passage de la mise à l'échelle automatique désactivée pour obtenir la bonne réponse, mais ce sera l'appel dexlim()
ouylim()
après votreplot
de commande.Je l'utiliser beaucoup d'inverser l'axe des x, je travaille dans l'astronomie et nous utilisons une ampleur système qui est à l'envers (c'est à dire. plus brillantes, les étoiles ont une ampleur moindre) donc j'ai l'habitude de swap les limites avec
ax1.invert_xaxis()
.Pour répondre à ma propre question, le truc, c'est à son tour mise à l'échelle automatique off...
J'ai essayé toutes ces réponses ci-dessus, et j'en résume un pipeline de comment dessiner fixe les axes de l'image. Il s'appliquait à la fois à
show
fonction etsavefig
fonction.avant de parcelle:
C'est pour demander un
ax
qui estsubplot(1,1,1)
.Au cours de la parcelle:
Après la parcelle:
Pour afficher l'image :
Pour enregistrer la figure :
Je trouve que mettre
axis
à l'avant de la code ne fonctionnera pas même si j'ai misautoscale_on
àFalse
.J'ai utilisé ce code pour créer une série d'animation. Et ci-dessous l'exemple de la combinaison de multiples fixe les axes des images dans une animation.
Essayez de mettre de l'appel à
axis
après tout traçage des commandes.