You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Matplotlib多轴绘图的窗口标题(替换Figure 1)

解决Matplotlib窗口标题修改问题

你混淆了绘图内容标题和窗口标题的设置逻辑:

  • plt.title()是用来设置整个绘图区域的中心标题(显示在子图上方),并非窗口标题栏的文字;
  • 要修改弹出窗口的标题(默认是"Figure 1"),需要操作Figure对象的窗口管理器属性。

正确修改方式

直接对plt.subplots()返回的fig对象调用窗口标题设置方法,替换掉原代码中的plt.title('title'):

修改后的完整plotTaskGrids函数示例:

def plotTaskGrids(task):
  nTrain = len(task['train'])
  fig, ax = plt.subplots(2, nTrain, figsize=(3*nTrain, 3*2))

  for i in range(nTrain):   
    plotGrid(ax[0, i], task['train'][i]['input'], 'train input')
    plotGrid(ax[1, i], task['train'][i]['output'], 'train output')

  plt.tight_layout()
  # 设置窗口标题,替换原plt.title
  fig.canvas.manager.set_window_title('自定义窗口标题')
  plt.show()    

补充说明

  • 如果你的Matplotlib后端是TkAgg,也可以用fig.canvas.set_window_title('自定义窗口标题'),但fig.canvas.manager.set_window_title()是更通用的写法,适配更多后端;
  • 若需要同时保留绘图内容的中心标题,可以继续使用plt.title(),它和窗口标题互不冲突。

内容的提问来源于stack exchange,提问作者Paul Jurczak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 20:25:17