matplotlib更改窗口图标

Python Matplotlib 避坑指南|注意事项|开发必知 如果你单纯使用的话,它默认使用的是PyQt模块,没有再去使用Tkinter。很明显,Qt启动的比Tkinter启动的多一个功能,界面也比Tkinter启动的好看。使用Tkinter启动的。 阅读详情

matplotlib窗口图标默认是matplotlib的标志,如果想修改怎么改呢?
由于我选择的matplotlib后端是PyQT5,直接查看matplotlib.backends.backend_qt5模块源码。

原理

查看源码可知,窗口图标功能定义在FigureManagerQT类中,设置的默认图标是mpl-data\images\matplotlib.svg。
FigureManagerQT的父类是FigureManagerBase,其功能是作为容器隔离matplotlib图像和后端实现的窗口,并与窗口进行交互,它会自动适配matplotlib选用的后端。
这样只用找到当前图像中FigureManagerQT类的实例(即当前图像的图像管理器)后调用setWindowIcon方法即可完成窗口图标的更改。
获取当前图像的图像管理器有两种写法,因此,更改窗口图标的实现有两种。
根据matplotlib.pyplot.get_current_fig_manager()函数源码可知这两种方法是等价的。

实现代码

import matplotlib.pyplot as plt
from PyQt5 import QtGui

plt.plot([1,2])
# 构建图标
PATH_TO_ICON = r"c:\quit.png"
new_icon = QtGui.QIcon(PATH_TO_ICON)
# 方法一:使用figure.canvas.manager获取当前图像的`FigureManagerQT`类实例
fig =plt.gcf()
fig.canvas.manager.window.setWindowIcon(QtGui.QIcon(new_icon))

# 方法二:使用plt.get_current_fig_manager()获取当前图像的`FigureManagerQT`类实例
plt.get_current_fig_manager().window.setWindowIcon(new_icon)
plt.show()

matplotlib源码

class FigureManagerQT(FigureManagerBase):
    """
    Attributes
    ----------
    canvas : `FigureCanvas`
        The FigureCanvas instance
    num : int or str
        The Figure number
    toolbar : qt.QToolBar
        The qt.QToolBar
    window : qt.QMainWindow
        The qt.QMainWindow
    """

    def __init__(self, canvas, num):
        FigureManagerBase.__init__(self, canvas, num)
        self.window = MainWindow()
        self.window.closing.connect(canvas.close_event)
        self.window.closing.connect(self._widgetclosed)

        self.window.setWindowTitle("Figure %d" % num)
        image = str(cbook._get_data_path('images/matplotlib.svg'))
        self.window.setWindowIcon(QtGui.QIcon(image))
def get_current_fig_manager():
    return gcf().canvas.manager
Python--matplotlib绘图可视化知识点整理 无论你工作在什么项目上,IPython都是值得推荐的。利用,可以进入PyLab模式,已经导入了matplotlib库与相关软件包(例如Numpy和Scipy),额可以直接使用相关库的功能。本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找。这样IPython配置为使用你所指定的matplotlib GUI后端。对于大部分用户而言,默认的后端就已经够用了。Pylab模式还会向IPython引入一大堆模块和函数以提供一种更接近MATLAB的界面。 阅读详情

相关推荐

python 中matplotlib 画图导入到word中如何保证分辨率

python画图工具导入word中,尽量使图片不模糊。在把word转换成pdf时,保证图片不失真,pdf放大后图片不模糊。

chen8766250的博客 1万+

python改图标,matplotlib更改窗口图标的方法示例

matplotlib窗口图标默认是matplotlib的标志,如果想修改怎么改呢?由于我选择的matplotlib后端是PyQT5,直接查看matplotlib.backends.backend_qt5模块源码。原理查看源码可知,窗口图标功能定义在FigureManagerQT类中,设置的默认图标是mpl-data\images\matplotlib.svg。FigureManagerQT的父类是...

weixin_42521558的博客 976

Obsidian跨设备同步实战:阿里云OSS与Remotely Save插件配置指南

本文详细介绍了如何利用阿里云OSS对象存储与Remotely Save插件,为Obsidian笔记软件搭建一个低成本、高可靠性的私有化多端同步方案。从创建OSS Bucket、配置CORS规则、生成子账户密钥,到插件安装与多设备同步策略,提供了完整的实战配置指南,有效解决Obsidian用户的跨设备同步痛点。

qsc901234567的博客 1282

Matplotlib图表美化秘籍:自定义样式,让你的图表脱颖而出!

【🎨 图表大师:Matplotlib样式自定义全攻略 🎨】🌟 跃入Matplotlib的魔法世界,开启您的图表定制之旅!📘 本文将带您从零开始,一步步掌握Matplotlib图表样式的自定义技巧!🖌️ 赋予您的图表独特的个性,让数据更加生动、直观地呈现!🌟

创作高质量博文,分享知识,共同进步! 3862

企业微信自建应用全流程部署指南:从HTTPS到API调试

本文提供了一份详尽的企业微信自建应用部署指南,涵盖从HTTPS域名配置、Nginx反向代理到企业微信后台应用创建与API调试的全流程。核心在于构建一个符合企业微信安全要求的“可信”服务环境,并利用JupyterLab等工具进行高效调试,帮助企业快速完成内部系统与企业微信的集成。

weixin_29247219的博客 422

创新实训项目博客:基于LoRA的医疗大模型高效微调实战

预训练大语言模型(LLMs)虽然具备了广泛的知识和一定的通用能力,但在特定领域(如医疗)或特定任务(如遵循特定指令格式进行思考链推理)上,其表现往往不尽如人意。微调(Fine-tuning)能够使模型学习到特定领域的数据分布和任务模式,从而在目标任务上获得更好的性能,使其更贴合实际应用需求。使用Unsloth框架加载并以4-bit量化模型。基于数据集,构建了包含明确思考链引导的训练Prompt。配置了LoRA参数,并使用SFTTrainer在单张T4 GPU上对模型进行了高效微调。

m0_73556916的博客 1290

AttributeError: ‘FigureCanvasTkAgg‘ object has no attribute ‘set_window_title‘

FigureCanvas.get_window_title() and FigureCanvas.set_window_title(); use FigureManagerBase.get_window_title or FigureManagerBase.set_window_title if using pyplot, or use GUI-specific methods if embedding.

qq_45123421的博客 1万+

微信小程序协同工作和发布

微信小程序协同工作和发布

qq_53114527的博客 1620

matplotlib1、图标窗口

转载于:https://www.cnblogs.com/yunshangyue71/p/11535392.html

aong4563的博客 194

apollo-慢速车向左绕行

当主车前方出现其他车辆时,通过左侧车道对前车绕行。

是菜鸟o的博客 309

玩转Docker小游戏项目系列: Docker部署红心纸牌网页小游戏

玩转Docker小游戏项目系列: Docker部署红心纸牌网页小游戏

jks212454的博客 420

自动设置图片的序号_WORD技巧分享——巧妙序号设置模版,实现标题自动规范编号...

面对一份标题级繁多,序号错乱而找不到错乱原因的文档,一次次地点击鼠标,选择编号,设置格式......,是不是总叫人抓狂。小编教大家,在一份WORD文档中,快速解决多级标题设置问题。而且只需设置好一个模版, 轻松实现排版。 目的: 通过标题序号的设置,实现WORD文档中,只需轻点如下图所示样式,可以快速设置文档标题自动编号: 一、材料准备: ...

weixin_29235525的博客 1466

Linux存储软件栈剖析之第5篇:F2FS文件系统

F2FS是三星专为NAND闪存设计的开源文件系统,通过异地更新、磨损均衡等机制优化闪存特性。其架构采用层次化存储管理(Block→Segment→Section→Zone)和多日志区域设计,基于数据热度分类(热/温/冷数据)提升性能。核心创新包括节点地址表(NAT)解决级联更新问题,以及基于成本的垃圾回收算法。F2FS通过检查点机制确保崩溃一致性,并利用并行访问能力充分发挥闪存性能优势,显著降低写放大效应,延长设备寿命。

指尖动听知识库 197

python+matplotlib+绘制不同图标类型

#==================================================================#首先需要导入两个文件import matplotlib.pyplot as pltimport numpy as np#================================================================== ...

weixin_30627341的博客 129

ESP32 双雷达融合盲区车辆接近预警系统设计与实现

/ 超声波传感器引脚// 触发引脚// 回声引脚// 预警模块引脚// 蜂鸣器引脚// LED引脚// 串口配置(毫米波雷达用UART2)#define BAUD_RATE 115200 // 雷达串口波特率(IWR6843默认配置)// 预警阈值(可根据实际需求调整)// 高危区阈值(3m)// 预警区阈值(10m)// 传感器数据存储// 毫米波雷达距离(m)// 毫米波雷达速度(km/h)// 超声波距离(m)// 融合后距离(m)

weixin_42300449的博客 745

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

MFC更改窗口的图标和EXE图标

Python的包管理工具(如pip和conda)和第三方库(如NumPy和Pandas)是开发者高效工作的基石。Python的包管理工具和第三方库是Python生态系统的核心组成部分,它们帮助开发者高效地安装、管理和使用代码库。Python的包管理工具和第三方库是Python生态系统的核心组成部分,它们帮助开发者高效安装、管理和使用外部代码库。它是标准Python安装的一部分。其他工具:如pipenv(结合pip和虚拟环境)、poetry(现代依赖管理工具),它们提供了更高级的功能,如依赖锁定和环境隔离。

2502_93946642的博客 472

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

matplotlib实现数据可变_Celluloid让matplotlib动画-2:红绿灯

1 说明:=====1.1 Celluloid的matplotlib动画介绍国内很少,我的第一篇文章:《Celluloid让matplotlib动画如此简单-1》1.2 本次讲解红绿灯的设计,熟悉Celluloid、Matplotlib和Python。1.3 效果图2 代码讲解:=========2.1 导入模块# -*- coding: utf-8 -*- #第1步:导入模块from matpl...

weixin_31974443的博客 339

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Python中的matplotlib用法总结

原文:http://michaelxiang.me/2016/05/14/python-matplotlib-basic/ 无论你工作在什么项目上,IPython都是值得推荐的。利用ipython --pylab,可以进入PyLab模式,已经导入了matplotlib库与相关软件包(例如Numpy和Scipy),额可以直接使用相关库的功能。 本文作为学习过程中对matplotlib一些

wl_ss的博客 6948

matplotlib 中文问题 及常见api

一、中文问题 用matplotlib 模拟做图 在改x轴和y轴的名字和加图例的时候发现 pycharm运行报错 ,网上说是字体问题,实际上如果是运行报错的话 在前面加上 import sys reload(sys) sys.setdefaultencoding('utf8') 就好使了,当然不显示中文也是有字体的问题的,所以呢,加上这样一段基本就能解决掉matplotlib的中文问题 im

王甲评的博客 709

避坑指南:Matplotlib+PyQt5窗口控制那些奇葩问题(最大化失效/置顶闪退)

本文深入探讨了Matplotlib与PyQt5结合时常见的窗口控制问题,特别是最大化失效和置顶闪退的解决方案。通过分析窗口状态管理机制,提供了健壮的代码实现和调试技巧,帮助开发者有效解决这些棘手问题,提升GUI应用的稳定性和用户体验。

kite3的博客 184

python中matplotlib画图_Python-matplotlib画图(莫烦笔记)

这个是我对于莫烦老师的matplotlib模块的视频做的一个笔记。1.前言Matplotlib是一个python的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。2.简单的使用import matplotlib.pyplot as pltimport numpy...

weixin_39702559的博客 428

Matplotlib 知识点整理

本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找。 强烈推荐ipython 无论你工作在什么项目上,IPython都是值得推荐的。利用ipython --pylab,可以进入PyLab模式,已经导入了matplotlib库与相关软件包(例如Numpy和Scipy),额可以直接使用相关库的功能。 这样IPython配置为使用你所指定的matplotlib GUI后端(...

MichaelHH 496

Python-matplotlib画图(莫烦笔记)

https://www.zhihu.com/collection/260736383<此处就不自己写了,看了遍,照着写了一边,作者写的不错。不过有些有些偷懒,我只做了常见的功能>作者:触摸壹缕阳光链接:https://zhuanlan.zhihu.com/p/33270402来源:知乎著作权归作者所有,转载请联系作者获得授权。1.前言Matplotlib是一个python的 2D绘图库...

gaotihong的博客 17万+

Python学习笔记(十九)——Matplotlib入门

详细解析 matplotlib函数库

weixin_60535956的博客 6141

Python——matplotlib绘图可视化知识点整理

无论你工作在什么项目上,IPython都是值得推荐的。利用,可以进入PyLab模式,已经导入了matplotlib库与相关软件包(例如Numpy和Scipy),额可以直接使用相关库的功能。本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找。这样IPython配置为使用你所指定的matplotlib GUI后端(TK/wxPython/PyQt/Mac OS X native/GTK)。对于大部分用户而言,默认的后端就已经够用了。

m0_59485658的博客 872

字节测试岗笔试复盘:从算法到质量思维的三条主线

软件测试是保障产品质量的核心环节,从手工用例设计到自动化测试框架,行业正经历从“人肉回归”到“持续集成”的演进。理解测试金字塔、边界值分析等基础理论,掌握pytest、Appium等主流工具的原理与应用场景,是构建质量思维的关键。在工程实践中,自动化测试的价值不仅在于替代重复劳动,更在于将质量保障前置到开发流程中,通过Jenkins等持续集成工具实现快速反馈。无论是Web接口测试还是移动端UI验证,本质都是通过系统化设计和风险预判来提升交付信心。本文围绕字节跳动测试岗笔试的复盘,梳理从算法基础、测试理论到场

weixin_33978044的博客 499
上一篇: matplotlib工具栏源码探析四(自定义工具项图标)
下一篇: matplotlib窗口状态管理(最大化、最小化、全屏、置顶、控制按钮,基于PyQT5后端)
mighty13
博客等级 码龄23年 728粉丝 438原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值