Python 一个图形中有多个GridSpec

Python 一个图形中有多个GridSpec,python,python-3.x,matplotlib,Python,Python 3.x,Matplotlib,我正在阅读matplotlib的文档(),在这个特定的示例中,我不理解一个图中两个GridSpec布局背后的逻辑 这将得到以下结果(): 默认情况下,这两个GridSpec似乎相邻对齐。我是否在代码中遗漏了一些明确的东西 我尝试添加第三个GridSpec,如下所示: gs3 = gridspec.GridSpec(3, 3) ax7 = plt.subplot(gs3[:, 0]) ax8 = plt.subplot(gs3[:, 1:]) 但这只是填充了整个图形,前两个网格规格是“过度绘制的

我正在阅读matplotlib的文档(),在这个特定的示例中,我不理解一个图中两个GridSpec布局背后的逻辑

这将得到以下结果():

默认情况下,这两个GridSpec似乎相邻对齐。我是否在代码中遗漏了一些明确的东西

我尝试添加第三个GridSpec,如下所示:

gs3 = gridspec.GridSpec(3, 3)
ax7 = plt.subplot(gs3[:, 0])
ax8 = plt.subplot(gs3[:, 1:])
但这只是填充了整个图形,前两个网格规格是“过度绘制的”


重申我的问题,一个图中两个GridSpec的布局是否有一些隐含的逻辑(注意,我知道GridSpecFromSubplotSpec方法,但这里没有使用它)?

可以使用
update
命令调整
GridSpec
范围。使用此行,您可以将第一个
GridSpec
限制在
图的左侧(48%)

gs1.update(left=0.05, right=0.48, wspace=0.05)
然后,第二个
GridSpec
被限制在
图的右侧

gs1.update(left=0.55, right=0.98, hspace=0.05)

类似地,您可以使用关键字
top
bottom

限制垂直范围查看对齐选项:
gs1.update(左=0.05,右=0.48,wspace=0.05)
gs2.update(左=0.55,右=0.98,hspace=0.05)
gs1
0.48
处结束,
gs2
0.55
处开始,就像在您的图中一样。您希望第三个
GridSpec
在哪里?这实际上就是答案。我只是还没有学会对齐。如果我用第二个的参数更新第三个GridSpec,它将取代第二个。
gs1.update(left=0.55, right=0.98, hspace=0.05)