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使用循环实现批量创建文件夹示例
Mar 25 Python
python中readline判断文件读取结束的方法
Nov 08 Python
快速入手Python字符编码
Aug 03 Python
Python利用公共键如何对字典列表进行排序详解
May 19 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
Sep 14 Python
解决Django migrate不能发现app.models的表问题
Aug 31 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 Python
Django 创建后台,配置sqlite3教程
Nov 18 Python
Pytest参数化parametrize使用代码实例
Feb 22 Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 Python
Python检测端口IP字符串是否合法
Jun 05 Python
十个Python自动化常用操作,即拿即用
May 10 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
PHP5中虚函数的实现方法分享
2011/04/20 PHP
php 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
php漏洞之跨网站请求伪造与防止伪造方法
2013/08/15 PHP
PHP实现QQ登录实例代码
2016/01/14 PHP
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
2014/06/24 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
jQuery事件对象总结
2016/10/17 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
JS实现的碰撞检测与周期移动完整示例
2019/09/02 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
在Python下尝试多线程编程
2015/04/28 Python
星球大战与Python之间的那些事
2016/01/07 Python
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
python单例设计模式实现解析
2020/01/07 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
利用CSS3实现文本框的清除按钮相关的一些效果
2015/06/23 HTML / CSS
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
美国最大的万圣节服装网站:HalloweenCostumes.com
2017/10/12 全球购物
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
工商管理专业实习大学生自我鉴定
2013/09/19 职场文书
留学自荐信的技巧
2013/10/17 职场文书
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
2014乡镇领导班子四风对照检查材料思想汇报
2014/10/05 职场文书
廉政文化进校园广播稿
2014/10/20 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
小学三八妇女节活动总结
2015/02/06 职场文书
留学推荐信怎么写
2015/03/26 职场文书
2015年社区综治工作总结
2015/04/21 职场文书
2015年乡镇平安建设工作总结
2015/05/13 职场文书