如何调整matplotlib中的坐标轴大小
我想调整图表中的坐标轴大小。我知道可以使用
plt.axis('equal')
或者
plt.gca().set_aspect('equal', 'datalim')
来调整坐标轴,这样所有坐标轴的单位大小就会一样。
但我想做的是,让子图的比例保持一致(在我的情况下是正方形),不管x轴和y轴的单位是什么。在这种情况下,图表的范围应该是 xlim = [0, 168]; ylim = [0, 1.01]
。
我尝试过
plt.gca().set_aspect('equal', 'box')
但结果并不理想:
我是不是漏掉了什么?
谢谢
1 个回答
4
这个 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)