【问题标题】:Set matplotlib default figure window title设置 matplotlib 默认图形窗口标题
【发布时间】:2016-07-11 12:51:27
【问题描述】:

图窗的默认窗口标题为图X,其中X每增加一图。

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

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

但是如何更改默认窗口标题(以便它将成为测试 1、测试 2 等)?这样我就不需要每次都更改窗口标题。 我在 mpl.rcParams 中没有找到键

谢谢

【问题讨论】:

    标签: matplotlib figure


    【解决方案1】:

    编辑:我的回答不会按照 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 值也是该图的关键。因此,请注意不要重复使用相同的值。)

    结果如下:

    【讨论】:

    • 很好,谢谢,但这不是我所需要的。我想更改默认行为。
    • matplotlib.pyplot.figure documentation 3.2.1 中有一条关于 'num' kwargs 的评论。 如果未提供,将创建一个新图形,并且图形编号将递增。图形对象将此数字保存在数字属性中。如果提供了 num,并且具有此 id 的图形已经存在,则使其处于活动状态,并返回对它的引用。如果此图不存在,则创建并返回它。 如果num是字符串,则窗口标题将设置为该图的num。
    【解决方案2】:

    mpl.rcParams 中没有键,因为默认标题是在后端硬编码的。比如看QT5后端的图初始化代码(https://github.com/matplotlib/matplotlib/blob/c1a3c030c66f512c6f79e4f45b0870b68921320c/lib/matplotlib/backends/backend_qt5.py#L554):

    self.window.setWindowTitle("图 %d" % num)

    这意味着您无法更改默认窗口标题,除非您更改 matplotlib 模块本身的代码。

    猜你喜欢
    • 1970-01-01
    • 2012-04-05
    • 2011-11-18
    • 1970-01-01
    • 2011-04-28
    • 2016-07-26
    • 2018-02-02
    • 1970-01-01
    • 2016-08-14
    相关资源
    最近更新 更多