【问题标题】:Matplotlib placement of text e.g. suptitle inside the frameMatplotlib 放置文本,例如框架内的字幕
【发布时间】:2012-10-09 02:19:53
【问题描述】:

到目前为止,我已将字幕放在框架上方,如下所示:

如何将字幕从above框架放入框架中?

到目前为止,我有一个解决方案,它只打印一个文本并通过计算 xlim 和 ylim 将其设置在正确的位置。然而,这很容易出错,如果文本不同,它看起来很糟糕。有没有办法将附加标签设置到框架中?或者只是将文本放在框架下方并居中? 如果我不需要知道框架内显示的数据,那将非常方便。

【问题讨论】:

    标签: python matplotlib title


    【解决方案1】:

    您使用text 的解决方案也是我的首选解决方案。但是,您不需要根据 xlim 和 ylim 计算位置。如果您设置transform=ax.transAxes,则用于定位文本的坐标将被视为相对于轴边界框(0,0 是左下角)。像这样:

    data = range(1,10);
    fig = figure()
    for i in range(6):
        ax = fig.add_subplot(2,3,i)
    
        ax.text(.5,.9,'centered title',
            horizontalalignment='center',
            transform=ax.transAxes)
    
        ax.plot(data)
    show()
    

    希望有帮助!

    【讨论】:

    • 所以如果我想在这些图的左上角添加 a b c d,它们都是不同的范围,我该怎么做?
    【解决方案2】:

    你考虑过axes.title吗?您可以查看它的文档here。您还可以将 x 和 y 坐标作为关键字参数 ax.title("my title", x=0.5, y=0.6) 传递。

    希望这会有所帮助。

    【讨论】:

    • 这似乎是最简单的解决方案。
    • 甚至ax.title("my title", position=(0.5, 0.6))
    • 那就是matplotlib.pyplot.title,或者axis.set_title
    猜你喜欢
    • 2016-11-22
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    相关资源
    最近更新 更多