Comment égaliser les échelles de l'axe x et de l'axe y dans Python matplotlib?

Je souhaite dessiner des lignes sur un graphiquecarré .

Les échelles de x-axis et y-axis devraient être les mêmes.

Par exemple, x varie de 0 à 10 et il est de 10 cm sur l'écran. y doit également aller de 0 à 10 et doit aussi être de 10 cm.

La forme carrée doit être maintenue, même si je plaisante avec la taille de la fenêtre.

Actuellement, mon graphique évolue avec la taille de la fenêtre.

Comment puis-je y parvenir?

Mise à jour:

Je essayé ce qui suit, mais cela n'a pas fonctionné.

plt.xlim(-3, 3)
plt.ylim(-3, 3)
plt.axis('equal')
67
demandé sur Sibbs Gambling 2013-08-01 13:58:28

3 réponses

Vous devez creuser un peu plus dans l'api pour faire ceci:

from matplotlib import pyplot as plt
plt.plot(range(5))
plt.xlim(-3, 3)
plt.ylim(-3, 3)
plt.gca().set_aspect('equal', adjustable='box')
plt.draw()

Doc pour set_aspect

107
répondu tacaswell 2018-10-04 09:14:16
pyplot.axis('scaled')

Fonctionne bien pour moi.

33
répondu myx 2016-12-17 16:15:32

Essayez quelque chose comme:

import pylab as p
p.plot(x,y)
p.axis('equal')
p.show()
14
répondu Dman2 2013-08-01 11:52:54