我希望在 SQUARE 图表上绘制线条。
x-axis
和y-axis
的比例应该相同。
e.g。 x的范围是0到10,屏幕上是10厘米。 y必须也在0到10之间,也必须是10厘米。
即使我弄乱窗口大小,也必须保持SQUARE形状。
目前,我的图表与窗口大小一起缩放。
我怎么能实现这个目标?
更新
我尝试了以下操作,但它没有用。
plt.xlim(-3, 3)
plt.ylim(-3, 3)
plt.axis('equal')
答案 0 :(得分:120)
你需要深入挖掘api才能做到这一点:
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()
答案 1 :(得分:49)
plt.axis('scaled')
适合我。
答案 2 :(得分:17)
尝试类似:
import pylab as p
p.plot(x,y)
p.axis('equal')
p.show()
答案 3 :(得分:6)
请参见plt.axis()
上的the documentation。这个:
plt.axis('equal')
不起作用,因为它更改了轴的界限以使圆看起来是圆形。您想要的是:
plt.axis('square')
这将创建具有相等轴的正方形图。
答案 4 :(得分:0)
您可以使用此方法将绘图拉伸为正方形:
fig = plt.figure(figsize=(1, 1))