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通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
python实现判断一个字符串是否是合法IP地址的示例
Jun 04 Python
浅谈Python接口对json串的处理方法
Dec 19 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
Jun 19 Python
PyTorch中Tensor的维度变换实现
Aug 18 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
Oct 30 Python
numpy.ndarray 实现对特定行或列取值
Dec 05 Python
Python 调用有道翻译接口实现翻译
Mar 02 Python
python中判断文件结束符的具体方法
Aug 04 Python
Ubuntu16安装Python3.9的实现步骤
Dec 15 Python
python函数超时自动退出的实操方法
Dec 28 Python
编写python程序的90条建议
Apr 14 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
ThinkPHP之M方法实例详解
2014/06/20 PHP
如何使用Gitblog和Markdown建自己的博客
2015/07/31 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
PHP基于进程控制函数实现多线程
2020/12/09 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
BootStrap Fileinput初始化时的一些参数
2016/12/30 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
2018/10/31 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
python实现的解析crontab配置文件代码
2014/06/30 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
Python简单基础小程序的实例代码
2019/04/28 Python
python和php学习哪个更有发展
2020/06/17 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
美国知名玩具品牌:Melissa & Doug
2016/08/16 全球购物
优秀导游先进事迹材料
2014/01/25 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
80后婚前协议书范本
2014/10/24 职场文书
mysql sock 文件解析及作用讲解
2022/07/15 MySQL