我正在使用matplotlib的文档(http://matplotlib.org/users/gridspec.html#adjust-gridspec-layout),在这个特定的例子中,我不理解一个图中两个GridSpec布局背后的逻辑。他们使用的代码的重要部分(省略文本,标题和标签)是
import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec
f = plt.figure()
gs1 = GridSpec(3, 3)
gs1.update(left=0.05, right=0.48, wspace=0.05)
ax1 = plt.subplot(gs1[:-1, :])
ax2 = plt.subplot(gs1[-1, :-1])
ax3 = plt.subplot(gs1[-1, -1])
gs2 = GridSpec(3, 3)
gs2.update(left=0.55, right=0.98, hspace=0.05)
ax4 = plt.subplot(gs2[:, :-1])
ax5 = plt.subplot(gs2[:-1, -1])
ax6 = plt.subplot(gs2[-1, -1])
这会得到以下结果(http://matplotlib.org/_images/demo_gridspec03.png):
默认情况下,这两个GridSpec似乎彼此相邻。我是否遗漏了代码中的内容,明确地这样做了吗?
我尝试添加第三个GridSpec,如下所示:
gs3 = gridspec.GridSpec(3, 3)
ax7 = plt.subplot(gs3[:, 0])
ax8 = plt.subplot(gs3[:, 1:])
但这只是填补了整个数字,前两个GridSpecs已经过了#34;#34;
重述我的问题,图中两个GridSpec的布局是否有一些隐含的逻辑(注意我知道方法GridSpecFromSubplotSpec,但这里没有使用它)?
答案 0 :(得分:1)
可以使用GridSpec
命令调整update
范围。使用此行,您可以将GridSpec
的第一个Figure
限制为gs1.update(left=0.05, right=0.48, wspace=0.05)
的左侧(48%)。
GridSpec
然后,第二个Figure
仅限于gs1.update(left=0.55, right=0.98, hspace=0.05)
与
top
同样,您可以使用关键字bottom
和int __thiscall sub_76FDF3(CMFCTabCtrl *this, int, int)
限制垂直范围。