使用subplot2grid如何增加子图之间的间距?

9
我使用subplot2grid来创建如下所示的子图:

enter image description here

为了使刻度足够大以便发布,我需要增加轴之间的垂直和水平间距。

通常情况下,我会使用类似于subplot_adjust(hspace = 0.5)的方法,但这似乎不适用于subplot2grid

请问有没有人能推荐一种解决方案?

这是我用来绘制图形并创建轴的代码:

import matplotlib.pyplot as plt

ax1  = plt.subplot2grid((2,2),(0,0), colspan = 2)
ax2  = plt.subplot2grid((2,2),(1,0), colspan = 1)
ax3  = plt.subplot2grid((2,2),(1,1), colspan = 1)

df.plot( ax = ax1)
plt.show()

你可能想要发布用于生成子图的代码。 - David Maust
发布了一些代码。 - Demetri Pananos
2个回答

5
我已经在这里找到了解决方案。
代码如下:
AX = gridspec.GridSpec(2,2)
AX.update(wspace = 0.5, hspace = 0.5)
ax1  = plt.subplot(AX[0,:])
ax2 = plt.subplot(AX[1,0])
ax3 = plt.subplot(AX[1,1])

这将以增加的水平和垂直间距产生相同的子图。


这似乎不能解决我的问题。因为我在左列上有一个双Y轴,即使我设置了hspace = 0.8,标签仍然与右列上的重叠。 - Jason
6
更新自己:我发现添加额外的 figure.tight_layout() 解决了它。 - Jason

-1
您可以添加以下行:
plt.subplots_adjust(hspace=0.8)

在这个下面:
ax3 =plt.subplot2grid((2,2),(1,1), colspan = 1)

你可以通过这种方式玩弄各种参数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接