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使用 HTMLTestRunner.py生成测试报告
Oct 20 Python
python函数式编程学习之yield表达式形式详解
Mar 25 Python
Python3连接SQLServer、Oracle、MySql的方法
Jun 28 Python
wxpython+pymysql实现用户登陆功能
Nov 19 Python
python 字典套字典或列表的示例
Dec 16 Python
Pytorch的mean和std调查实例
Jan 02 Python
python生成并处理uuid的实现方式
Mar 03 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
Jun 08 Python
通俗易懂了解Python装饰器原理
Sep 17 Python
PyCharm 解决找不到新打开项目的窗口问题
Jan 15 Python
Python基于百度AI实现抓取表情包
Jun 27 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
php 分库分表hash算法
2009/11/12 PHP
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
PHP操作文件的一些基本函数使用示例
2014/11/18 PHP
PHP简单遍历对象示例
2016/09/28 PHP
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
有关于JS辅助函数inherit()的问题
2013/04/07 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
js使用for循环查询数组中是否存在某个值
2014/08/12 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
JS回调函数 callback的理解与使用案例分析
2019/09/09 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
微信小程序利用button控制条件标签的变量问题
2020/03/15 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
python中黄金分割法实现方法
2015/05/06 Python
浅析Git版本控制器使用
2017/12/10 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
毕业生幼师求职自荐信
2013/10/01 职场文书
幼儿园招生广告
2014/03/19 职场文书
八项规定个人对照检查材料思想汇报
2014/09/25 职场文书
离职感谢信怎么写
2015/01/22 职场文书
委托书格式范文
2015/01/28 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
nginx+lua单机上万并发的实现
2021/05/31 Servers