设置Matplotlib默认图形窗口标题

6

一个图形的默认窗口标题是 figure X,其中 X 是每个图形递增的数字。

我知道如何更改图形的标题:

fig = pylab.gcf()
fig.canvas.set_window_title('Test')

但是我如何更改默认的窗口标题(使其成为Test 1,Test 2等)?这样我就不需要每次更改窗口标题了。我在mpl.rcParams中没有找到相应的键。

谢谢

2个回答

12

编辑:我的答案不会更改默认设置,正如楼主所要求的那样,但可以提供一种在创建图形时定义图标题的方法。

使用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值也是此图的关键。因此,请小心不要重复使用相同的值。)

以下是结果: 输入图像描述


1
很好,谢谢,但这并不是我需要的。我想要改变默认行为。 - Oren
1
matplotlib.pyplot.figure 文档 3.2.1 中有关于 'num' kwargs 的注释。如果未提供,将创建一个新的图形,并递增图形编号。图形对象将此编号保存在 number 属性中。如果提供了 num,并且具有此 ID 的图形已存在,则使其处于活动状态,并返回对其的引用。如果此图形不存在,则创建它并返回它。如果 num 是字符串,则窗口标题将设置为此图形的 num。 - bvanlew
2
即使这并没有回答楼主的问题,但它似乎很有用,因为在搜索如何设置特定窗口标题的问题时会找到它 :-) - AstroFloyd

2

1
https://github.com/matplotlib/matplotlib/blob/8a8dd9093d381500555bccf46fc5d46b42d132ec/lib/matplotlib/backend_bases.py#L2777 - Oren

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接