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 多进程通信模块的简单实现
Feb 20 Python
Python多线程、异步+多进程爬虫实现代码
Feb 17 Python
Python使用lxml模块和Requests模块抓取HTML页面的教程
May 16 Python
Python爬虫实战:分析《战狼2》豆瓣影评
Mar 26 Python
PyQt5每天必学之单行文本框
Apr 19 Python
python将list转为matrix的方法
Dec 12 Python
Python获取Redis所有Key以及内容的方法
Feb 19 Python
PyCharm永久激活方式(推荐)
Sep 22 Python
python selenium自动化测试框架搭建的方法步骤
Jun 14 Python
jupyter lab文件导出/下载方式
Apr 22 Python
Python 远程开关机的方法
Nov 18 Python
Python爬虫入门教程01之爬取豆瓣Top电影
Jan 24 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手册及PHP编程标准
2006/12/17 PHP
php smarty 二级分类代码和模版循环例子
2011/06/16 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
在jQuery中 常用的选择器介绍
2013/04/16 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
Javascript的动态增加类的实现方法
2016/10/20 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(上)
2017/04/21 Javascript
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
nodejs 日志模块winston的使用方法
2018/05/02 NodeJs
详解一次Vue低版本安卓白屏问题的解决过程
2019/05/30 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
Python中比较特别的除法运算和幂运算介绍
2015/04/05 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
python3实现单目标粒子群算法
2019/11/14 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
Python爬虫实现模拟点击动态页面
2020/03/05 Python
如何用Python输出一个Fibonacci数列
2016/08/28 面试题
党校培训思想汇报
2013/12/30 职场文书
初中化学教学反思
2014/01/23 职场文书
标准化管理实施方案
2014/02/25 职场文书
青年安全生产示范岗事迹材料
2014/05/04 职场文书
销售类求职信
2014/06/13 职场文书
党委班子剖析材料
2014/08/21 职场文书
法院答辩状格式
2015/05/22 职场文书
单独二胎证明
2015/06/24 职场文书