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 13 Python
python编码总结(编码类型、格式、转码)
Jul 01 Python
Python+PIL实现支付宝AR红包
Feb 09 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
Jun 11 Python
python pcm音频添加头转成Wav格式文件的方法
Jan 09 Python
Python supervisor强大的进程管理工具的使用
Apr 24 Python
在python中利用numpy求解多项式以及多项式拟合的方法
Jul 03 Python
pyqt5数据库使用详细教程(打包解决方案)
Mar 25 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
May 17 Python
深入了解python列表(LIST)
Jun 08 Python
python zip()函数的使用示例
Sep 23 Python
python unichr函数知识点总结
Dec 16 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反射机制原理与用法详解
2017/02/15 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
jquery滚动到顶部底部代码
2015/04/20 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
利用nvm管理多个版本的node.js与npm详解
2017/11/02 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
layui radio性别单选框赋值方法
2018/08/15 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
使用cx_freeze把python打包exe示例
2014/01/24 Python
对numpy中轴与维度的理解
2018/04/18 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
父亲的菜园教学反思
2014/02/13 职场文书
挂科检讨书范文
2014/02/20 职场文书
作风建设整改方案
2014/10/27 职场文书
雾霾停课通知
2015/04/24 职场文书
政协常委会议主持词
2015/07/03 职场文书
公司考勤管理制度
2015/08/04 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang
python-for x in range的用法(注意要点、细节)
2021/05/10 Python
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题
实操Python爬取觅知网素材图片示例
2021/11/27 Python
MySQL RC事务隔离的实现
2022/03/31 MySQL