【发布时间】:2016-07-11 12:51:27
【问题描述】:
图窗的默认窗口标题为图X,其中X每增加一图。
我知道如何更改图形的标题:
fig = pylab.gcf()
fig.canvas.set_window_title('Test')
但是如何更改默认窗口标题(以便它将成为测试 1、测试 2 等)?这样我就不需要每次都更改窗口标题。 我在 mpl.rcParams 中没有找到键
谢谢
【问题讨论】:
标签: matplotlib figure
图窗的默认窗口标题为图X,其中X每增加一图。
我知道如何更改图形的标题:
fig = pylab.gcf()
fig.canvas.set_window_title('Test')
但是如何更改默认窗口标题(以便它将成为测试 1、测试 2 等)?这样我就不需要每次都更改窗口标题。 我在 mpl.rcParams 中没有找到键
谢谢
【问题讨论】:
标签: matplotlib figure
编辑:我的回答不会按照 OP 的要求更改默认值,但提供了一种在创建图形时定义图形标题的方法。
使用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):
self.window.setWindowTitle("图 %d" % num)
这意味着您无法更改默认窗口标题,除非您更改 matplotlib 模块本身的代码。