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 24 Python
Python中的魔法方法深入理解
Jul 09 Python
简单的抓取淘宝图片的Python爬虫
Dec 25 Python
JSON Web Tokens的实现原理
Apr 02 Python
基于windows下pip安装python模块时报错总结
Jun 12 Python
python去重,一个由dict组成的list的去重示例
Jan 21 Python
在Python文件中指定Python解释器的方法
Feb 18 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
PyCharm 专业版安装图文教程
Feb 20 Python
python 实现读取csv数据,分类求和 再写进 csv
May 18 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
Sep 25 Python
详解如何用Python实现感知器算法
Jun 18 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
PHP面向对象类型约束用法分析
2019/06/12 PHP
解决在laravel中auth建立时候遇到的问题
2019/10/15 PHP
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
JavaScript动态创建div属性和样式示例代码
2013/10/09 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
设置python3为默认python的方法
2018/10/31 Python
python pygame实现2048游戏
2018/11/20 Python
python变量的作用域是什么
2020/05/26 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
如何避免常见的6种HTML5错误用法
2017/11/06 HTML / CSS
澳大利亚最受欢迎的美发用品目的地:AMR
2019/08/28 全球购物
党员思想汇报范文
2013/12/30 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
道德之星事迹材料
2014/05/03 职场文书
小学班级特色活动方案
2014/08/31 职场文书
2014年采购工作总结
2014/11/20 职场文书
全陪导游词开场白
2015/05/29 职场文书
党员证明信
2015/06/19 职场文书
Python实现双向链表
2022/05/25 Python
MySQL 原理优化之Group By的优化技巧
2022/08/14 MySQL