获取给定图形的标题

Get the title of a given figure

我创建了一个图形并附加了这样的标题:

def func():
    fig = plt.figure()
    fig.suptitle("my title")
    return fig

现在我想检索我在函数中设置的标题。像这样:

fig.get_title()

好像不存在。除了返回我可以从 fig.suptitle("w/e") 函数获得的文本 object 之外还有什么想法吗?

好像没有publicAPI可以访问这个。但有一些注意事项,您可以使用非 public / 可能不稳定的成员:

fig._suptitle.get_text()

另一种解决方案是使用 fig.texts,其中 returns 是 matplotlib.text.Text objects 的列表。因此,我们可以得到列表的第一个元素,然后使用get_text()得到实际的标题:

fig = plt.figure()
fig.suptitle("my title")

text = fig.texts[0].get_text()
print(text)
# my title

您可以get the title通过轴:

fig.axes[0].get_title()

如果您可以访问轴本身,您可以直接执行以下操作:

ax.get_title()

以上用于获取与轴关联的标题,例如,通过 plt.titleax.set_title 设置,即“通常”标题。


但是,如果您正在寻找 的标题,即 suptitle 以防它已被设置(例如,对于具有许多子图的图),你可以写

fig._suptitle.get_text()