matplotlib 的组标题

Group titles for matplotlib

我在 matplotlib 中使用 GridSpec 来尝试生成以下图:

但是我未能在每两列的顶部中心的所需位置添加标题。以下代码创建了上面没有标题的图:

fig = plt.figure(constrained_layout=True)
gs = fig.add_gridspec(2, 6)

for i in range(0, 6, 2):
    fig.add_subplot(gs[:, i])
    fig.add_subplot(gs[0, i + 1])
    fig.add_subplot(gs[1, i + 1])

添加以下两行创建标题,但也会在其他图形上方创建一个图形:

    title = fig.add_subplot(gs[:, i:i + 2])
    title.set_title(f'title #{i}')

我必须如何更改给定的代码才能获得上述所需的结果?有没有办法隐藏新数字?有没有办法设置 titles/text 没有数字?

一种变体是隐藏新添加的图形但隐藏它们的标题 将此行添加到建议的其他两行中,情节看起来像期望的那样:

    title.set_axis_off()

因此完整的脚本如下所示:

fig = plt.figure(constrained_layout=True)
gs = fig.add_gridspec(2, 6)

for i in range(0, 6, 2):
    fig.add_subplot(gs[:, i])
    fig.add_subplot(gs[0, i + 1])
    fig.add_subplot(gs[1, i + 1])
    title = fig.add_subplot(gs[:, i:i + 2])
    title.set_title(f'title #{i}')
    title.set_axis_off()