189

我想在方形图上画线。

x-axis和的比例y-axis应该相同。

例如,x 的范围是 0 到 10,在屏幕上是 10cm。y 也必须在 0 到 10 的范围内,并且也必须是 10 厘米。

即使我弄乱了窗口大小,也必须保持方形。

目前,我的图表与窗口大小一起缩放。

我怎样才能做到这一点?

更新:

我尝试了以下方法,但没有奏效。

plt.xlim(-3, 3)
plt.ylim(-3, 3)
plt.axis('equal')
4

5 回答 5

253

您需要更深入地研究 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()

set_aspect 的文档

于 2013-08-01T13:56:22.060 回答
90
plt.axis('scaled')

很适合我。

于 2016-12-17T16:15:32.757 回答
54

请参阅上的文档plt.axis()。这个:

plt.axis('equal')

不起作用,因为它会更改轴的限制以使圆看起来是圆形的。你想要的是:

plt.axis('square')

这将创建一个具有相等轴的正方形图。

于 2019-09-01T18:55:22.883 回答
22

尝试类似:

import pylab as p
p.plot(x,y)
p.axis('equal')
p.show()
于 2013-08-01T10:55:13.150 回答
0

您可以使用以下方法将绘图拉伸为正方形:

fig = plt.figure(figsize=(1, 1))
于 2021-03-07T20:28:47.263 回答