设置绘图y轴和x轴比率相等

时间:2014-04-08 02:00:07

标签: python matplotlib

import numpy as np
import matplotlib.pyplot as plt
plt.figure(1)
plt.subplot(211)
xs = np.linspace(-5,5,500)
ys = np.sqrt(5**2 - xs**2)

plt.plot(xs,ys)
plt.plot(xs,-ys)

plt.subplot(212)
plt.plot(xs, xs**2)
plt.show()

这里是我生成的代码,想知道如果我想保持上图x和y比例为1:1,那么无论这个图中有多少个子图,球总是看起来很圆。

我试图从网站上找到它,似乎不是一个简单的解决方案..

1 个答案:

答案 0 :(得分:1)

创建子图时,您可以告诉它:

plt.subplot(211, aspect='equal')

如果您已经创建了子图,则必须使用plt.gca获取当前轴,然后调用set_aspect方法:

plt.gca().set_aspect('equal')

或者,您可以从头开始跟踪轴:

ax = plt.subplot(211)
ax.set_aspect('equal')

您可能需要致电

plt.draw()

为了更新情节。