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脚本实现查找webshell的方法
Jul 31 Python
Python列表(list)、字典(dict)、字符串(string)基本操作小结
Nov 28 Python
Python的MongoDB模块PyMongo操作方法集锦
Jan 05 Python
python 中split 和 strip的实例详解
Jul 12 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
python之线程通过信号pyqtSignal刷新ui的方法
Jan 11 Python
理想高通滤波实现Python opencv示例
Jan 30 Python
pandas 数据索引与选取的实现方法
Jun 21 Python
Python定时任务工具之APScheduler使用方式
Jul 24 Python
python selenium 查找隐藏元素 自动播放视频功能
Jul 24 Python
python属于跨平台语言码
Jun 09 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
Nov 02 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
Zend Framework教程之Resource Autoloading用法实例
2016/03/08 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
VBScript版代码高亮
2006/06/26 Javascript
document.documentElement && document.documentElement.scrollTop
2007/12/01 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
zTree插件之单选下拉菜单实例代码
2013/11/07 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
jquery动态遍历Json对象的属性和值的方法
2016/07/27 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
2017/03/14 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
简述ES6新增关键字let与var的区别
2019/08/23 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
详解JavaScript 的执行机制
2020/09/18 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
Python 描述符(Descriptor)入门
2016/11/20 Python
Python实现高斯函数的三维显示方法
2018/12/29 Python
Python中dict和set的用法讲解
2019/03/28 Python
Python如何获取文件路径/目录
2020/09/22 Python
美国最大的城市服装和运动鞋零售商:Jimmy Jazz
2016/11/19 全球购物
servlet面试题
2012/08/20 面试题
北京天坛导游词
2015/02/12 职场文书
让子弹飞观后感
2015/06/11 职场文书
感恩教师节主题班会
2015/08/12 职场文书
《比的意义》教学反思
2016/02/18 职场文书
爱岗敬业先进典型事迹材料(2016推荐版)
2016/02/26 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
详解Redis集群搭建的三种方式
2021/05/31 Redis
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js