【问题标题】:Group titles for matplotlibmatplotlib 的组标题
【发布时间】:2020-06-21 19:35:07
【问题描述】:

我在 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}')

我必须如何更改给定的代码才能获得上述所需的结果?有没有办法隐藏新的数字?有没有办法在没有数字的情况下设置标题/文本?

【问题讨论】:

标签: python matplotlib subplot


【解决方案1】:

一种变体是隐藏新添加的数字,但隐藏它们的标题 将此线添加到建议的其他两条中,情节看起来很理想:

    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()

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2021-01-11
    • 2013-09-09
    • 2019-05-15
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多