一个图形的默认窗口标题是 figure X,其中 X 是每个图形递增的数字。
我知道如何更改图形的标题:
fig = pylab.gcf()
fig.canvas.set_window_title('Test')
但是我如何更改默认的窗口标题(使其成为Test 1,Test 2等)?这样我就不需要每次更改窗口标题了。我在mpl.rcParams中没有找到相应的键。
谢谢
一个图形的默认窗口标题是 figure X,其中 X 是每个图形递增的数字。
我知道如何更改图形的标题:
fig = pylab.gcf()
fig.canvas.set_window_title('Test')
但是我如何更改默认的窗口标题(使其成为Test 1,Test 2等)?这样我就不需要每次更改窗口标题了。我在mpl.rcParams中没有找到相应的键。
谢谢
编辑:我的答案不会更改默认设置,正如楼主所要求的那样,但可以提供一种在创建图形时定义图标题的方法。
使用matplotlib.pyplot.subplots
创建图形时,有一个可选参数num
,即使没有被作为文档记录(据我所搜索),也可以稍后用作图标题:
import matplotlib.pyplot as plt
fig, axes = plt.subplots(nrows=2, num="some nice window title")
plt.ion() # to make plot non-blocking, i.e. if multiple plots are launched
fig.show()
当保存图表时,它也被用作默认文件名,这是一个非常好的功能。
(注意:即使未记录,此num
值也是此图的关键。因此,请小心不要重复使用相同的值。)
mpl.rcParams中没有键,因为默认标题是在后端硬编码的。例如,查看QT5后端的图形初始化代码:
https://github.com/matplotlib/matplotlib/blob/c1a3c030c66f512c6f79e4f45b0870b68921320c/lib/matplotlib/backends/backend_qt5.py#L554这意味着除非更改matplotlib模块本身的代码,否则无法更改默认的窗口标题。