Python 如何在matplotlib中调整长方体轴的大小

Python 如何在matplotlib中调整长方体轴的大小,python,matplotlib,plot,Python,Matplotlib,Plot,我想在绘图中调整绘图轴的大小。我知道我可以使用 plt.axis('equal') 或 以便调整轴的大小,以便在所有轴上具有相同的单位大小 我想做的是,不管x轴和y轴上的单位是多少,为子地块提供相同的纵横比(在我的例子中是正方形)。在这种情况下,绘图必须具有xlim=[0168];ylim=[0,1.01] 我试过了 plt.gca().set_aspect('equal', 'box') 但我没有得到一个有效的结果: 我错过什么了吗 感谢方面适用于数据,您谈论的是1:1的图形/绘图单位

我想在绘图中调整绘图轴的大小。我知道我可以使用

plt.axis('equal')

以便调整轴的大小,以便在所有轴上具有相同的单位大小

我想做的是,不管x轴和y轴上的单位是多少,为子地块提供相同的纵横比(在我的例子中是正方形)。在这种情况下,绘图必须具有
xlim=[0168];ylim=[0,1.01]

我试过了

plt.gca().set_aspect('equal', 'box')
但我没有得到一个有效的结果:

我错过什么了吗


感谢

方面适用于数据,您谈论的是1:1的图形/绘图单位,例如具有方形轴

您可以抓取
xlim
ylim
并自己计算纵横比:

fig, axs = plt.subplots(2,1)

axs[0].plot(np.random.randn(100).cumsum())
axs[1].plot(np.random.randn(100).cumsum())

aspect = np.diff(axs[1].get_xlim()) / np.diff(axs[1].get_ylim())
axs[1].set_aspect(aspect)

方面适用于数据,您指的是1:1的图形/绘图单位,例如具有方形轴

您可以抓取
xlim
ylim
并自己计算纵横比:

fig, axs = plt.subplots(2,1)

axs[0].plot(np.random.randn(100).cumsum())
axs[1].plot(np.random.randn(100).cumsum())

aspect = np.diff(axs[1].get_xlim()) / np.diff(axs[1].get_ylim())
axs[1].set_aspect(aspect)

你实际上得到了你想要的东西。您的xspan比yspan大得多,因此绘图在
x
轴上折叠。我想你们不想要相同的单位。使用
plt.gca()。。我想要1:1的方面,但只使用
set\u xlim()
set\u ylim
我不改变方面。这个图像是长方形的(在我看来),但不是正方形。你实际上得到了你想要的东西。您的xspan比yspan大得多,因此绘图在
x
轴上折叠。我想你们不想要相同的单位。使用
plt.gca()。。我想要1:1的方面,但只使用
set\u xlim()
set\u ylim
我不改变方面。在我看来,这个图像是长方形的,但不是正方形的,只是一个注释。。在这种情况下使用
np.diff()
有什么特别的原因吗?不管怎样,谢谢,我只是觉得很方便,因为你需要轴的范围。如果你愿意的话,你也可以用另一种方法从最大值中减去最小值。只是一个注释。。在这种情况下使用
np.diff()
有什么特别的原因吗?不管怎样,谢谢,我只是觉得很方便,因为你需要轴的范围。如果你愿意,你也可以用另一种方法从最大值中减去最小值。