I wish to draw lines on a square graph.
The scales of
y-axis should be the same.
e.g. x ranges from 0 to 10 and it is 10cm on the screen. y has to also range from 0 to 10 and has to be also 10 cm.
The square shape has to be maintained, even if I mess around with the window size.
Currently, my graph scales together with the window size.
How may I achieve this?
I tried the following, but it did not work.
plt.xlim(-3, 3) plt.ylim(-3, 3) plt.axis('equal')
Try something like:
import pylab as p p.plot(x,y) p.axis('equal') p.show()
You need to dig a bit deeper into the api to do this:
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()
works well for me.
See the documentation on
doesn’t work because it changes the limits of the axis to make circles appear circular. What you want is:
This creates a square plot with equal axes.
you can stretch the plot to square using this :
fig = plt.figure(figsize=(1, 1))