Matplotlib 放置文本,例如框架内的字幕
Posted
技术标签:
【中文标题】Matplotlib 放置文本,例如框架内的字幕【英文标题】:Matplotlib placement of text e.g. suptitle inside the frame 【发布时间】:2012-10-09 02:19:53 【问题描述】:到目前为止,我已将字幕放在框架上方,如下所示:
如何将字幕从above框架放入框架中?
到目前为止,我有一个解决方案,它只打印一个文本并通过计算 xlim 和 ylim 将其设置在正确的位置。然而,这很容易出错,如果文本不同,它看起来很糟糕。有没有办法将附加标签设置到框架中?或者只是将文本放在框架下方并居中? 如果我不需要知道框架内显示的数据,那将非常方便。
【问题讨论】:
【参考方案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
。以上是关于Matplotlib 放置文本,例如框架内的字幕的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PHP 将文本附加到特定标签内的外部 html 文件?