我阅读了使用 GridSpec 自定义子图位置中的说明,并尝试了以下代码并获得了绘图布局:
import matplotlib.gridspec as gridspec
gs = gridspec.GridSpec(3, 3)
ax1 = plt.subplot(gs[0, :])
ax2 = plt.subplot(gs[1, :-1])
ax3 = plt.subplot(gs[1:, -1])
ax4 = plt.subplot(gs[-1, 0])
ax5 = plt.subplot(gs[-1, -2])
Run Code Online (Sandbox Code Playgroud)
我知道这gridspec.GridSpec(3, 3)将给出 3*3 布局,但这意味着什么gs[0, :] gs[1, :-1] gs[1:, -1] gs[-1, 0] gs[-1, -2]?我在网上查找但没有找到详细的解释,我也尝试更改索引但没有找到规律的模式。谁能给我一些解释或者给我一个关于这个的链接?
我知道我可以用来update调整 matplotlib 图中实例的参数GridSpec,从而允许在单个图中排列多个 gridspec。就像这个例子取自 matplotlib 文档一样
gs1 = gridspec.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.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])
Run Code Online (Sandbox Code Playgroud)
但我怎样才能给两者gs1和gs2他们自己共同的头衔呢?使用suptitle我只能一次获得整个图形的通用标题。