matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析


Posted in Python onJanuary 05, 2021

什么是运行时配置(Runtime Configuration,rc)

Matplotlib使用matplotlibrc配置文件来自定义图形的各种属性,称之为rc配置或rc参数(rcParams)。通过rc参数可以修改matplotlib绝大多数属性的默认值,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。

运行时配置的默认值

运行时配置的默认值存放在默认的matplotlibrc文件中。

matplotlibrc文件与rcParams的关系

rcParams是RcParams类的实例,结构类似于字典,用于处理matplotlib的默认运行时配置,它是matplotlib模块的全局变量。当导入matplotlib模块时,matplotlibrc文件中的所有rc 参数存储在matplotlib.rcParams中。

源码如下:

rcParamsDefault = _rc_params_in_file(
  cbook._get_data_path("matplotlibrc"),
  # Strip leading comment.
  transform=lambda line: line[1:] if line.startswith("#") else line,
  fail_on_error=True)
dict.update(rcParamsDefault, rcsetup._hardcoded_defaults)
rcParams = RcParams() # The global instance.
dict.update(rcParams, dict.items(rcParamsDefault))
dict.update(rcParams, _rc_params_in_file(matplotlib_fname()))

修改运行时配置参数的方法

通过rc文件:修改默认 matplotlibrc文件或者指定自定义rc文件。

修改默认 matplotlibrc文件。

指定自定义的rc文件。

matplotlib.rc_file(fname, *, use_default_template=True)

通过rcParams对象:直接修改rcParams对象。这种方法比较灵活,修改的方法有以下三种:

  • matplotlib.rc(group, **kwargs)
  • rcParams[group.params]
  • rcParams.update()

第一、二种方法是等价的,第三种方法不支持缩写和分组。

#第一种方法1
  rc('lines', linewidth=2, color='r')
  #第一种方法2
  font = {'linewidth' : 2,
    'color'  : 'r'}
  rc('lines', **font) 
  #第二种方法
  rcParams['lines.linewidth'] = 2
  rcParams['lines.color'] = 'r'
  #第三种方法
  rcParams.update({"lines.linewidth": 2,'lines.color': 'r'})

还原修改运行时配置默认值的方法

  • matplotlib.rcdefaults():根据matplotlib内置的默认样式还原rcParams对象。
  • matplotlib.rc_file_defaults():根据matplotlib加载的rc文件的源文件还原rcParams对象。
  • matplotlib.style.use(default):加载默认样式。

到此这篇关于matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析的文章就介绍到这了,更多相关matplotlib配置rcParams内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用优化器来提升Python程序的执行效率的教程
Apr 02 Python
python语言使用技巧分享
May 31 Python
Pycharm导入Python包,模块的图文教程
Jun 13 Python
Python实现的括号匹配判断功能示例
Aug 25 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
Apr 25 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
Jun 18 Python
python中树与树的表示知识点总结
Sep 14 Python
python中seaborn包常用图形使用详解
Nov 25 Python
Django用数据库表反向生成models类知识点详解
Mar 25 Python
地图可视化神器kepler.gl python接口的使用方法
Dec 22 Python
pytorch常用数据类型所占字节数对照表一览
May 17 Python
Python初识逻辑与if语句及用法大全
Aug 07 Python
matplotlib制作雷达图报错ValueError的实现
Jan 05 #Python
python实现三种随机请求头方式
Jan 05 #Python
scrapy实践之翻页爬取的实现
Jan 05 #Python
python里glob模块知识点总结
Jan 05 #Python
python用opencv 图像傅里叶变换
Jan 04 #Python
python基于opencv 实现图像时钟
Jan 04 #Python
python基于opencv实现人脸识别
Jan 04 #Python
You might like
10 个经典PHP函数
2013/10/17 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
使用js检测浏览器的实现代码
2013/05/14 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
2016/02/24 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
2016/08/02 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
Javascript 编码约定(编码规范)
2018/03/11 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
design vue 表格开启列排序的操作
2020/10/28 Javascript
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
Python处理文本文件中控制字符的方法
2017/02/07 Python
解决pandas中读取中文名称的csv文件报错的问题
2018/07/04 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
如何用Python绘制3D柱形图
2020/09/16 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
工程专业毕业生自荐信范文
2013/12/25 职场文书
乔迁宴答谢词
2014/01/21 职场文书
《月迹》教学反思
2014/02/19 职场文书
化学系大学生自荐信范文
2014/03/01 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
2014年药剂科工作总结
2014/11/26 职场文书
2015年节能降耗工作总结
2015/05/22 职场文书
《自己的花是让别人看的》教学反思
2016/02/19 职场文书
2019年员工旷工保证书!
2019/06/28 职场文书
分析Java中Map的遍历性能问题
2021/06/26 Java/Android