在 pylab 中更改图形窗口标题

如何在 pylab/python 中设置图形窗口的标题?

fig = figure(9) # 9 is now the title of the window
fig.set_title("Test") #doesn't work
fig.title = "Test" #doesn't work
121377 次浏览

如果你真的想改变窗口,你可以这样做:

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

更新2021-05-15:

上面的解决方案不推荐使用 (见此处)

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

根据 Andrew 的回答,如果使用 pyplot 而不是 pylab,那么:

fig = pyplot.gcf()
fig.canvas.set_window_title('My title')

I used fig.canvas.set_window_title('The title') with fig obtained with pyplot.figure() and it worked well too:

import matplotlib.pyplot as plt
...
fig = plt.figure(0)
fig.canvas.set_window_title('Window 3D')

enter image description here

(看起来 .gcf().figure()在这里做类似的工作。)

还可以在创建图形时设置窗口标题:

fig = plt.figure("YourWindowName")

我发现这就是我需要的策划:

import matplotlib.pyplot as plt
....
plt.get_current_fig_manager().canvas.set_window_title('My Figure Name')

我发现使用 canvas对象,如下面两个例子所示:

fig.canvas.set_window_title('My title')

正如其他一些答案(12)所暗示的那样,以及

plt.get_current_fig_manager().canvas.set_window_title('My Figure Name')

来自 Benjo 的回答的报道,都给出了这样的警告:

The set_window_title function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use manager.set_window_title or GUI-specific methods instead.

解决办法似乎是调整 Benjo 的回答并使用:

plt.get_current_fig_manager().set_window_title('My Figure Name')

也就是说,停止使用 canvas,这样就消除了警告。

从 Matplotlib 3.4以及后来的版本,函数 set_window_title已被弃用。

You can use matplotlib.pyplot.suptitle() which behaves like set_window_title.

见: matplotlib.pyplot.suptitle