Matplotlib放置文本,例如框架内的suptitle

tar*_*sch 23 python matplotlib title

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

在此输入图像描述

如何从框架上方将框架移到框架中?

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

Tob*_*old 29

您使用的解决方案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()
Run Code Online (Sandbox Code Playgroud)

绘制显示相对于轴边界框的文本.

希望有所帮助!


小智 29

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

希望这可以帮助.

  • 那将是`matplotlib.pyplot.title`或`axis.set_title`. (7认同)
  • 甚至`ax.title("我的头衔",位置=(0.5,0.6))` (5认同)
  • 这似乎是最简单的解决方案。 (2认同)