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中的greenlet包实现并发编程的入门教程
Apr 16 Python
Python中类的定义、继承及使用对象实例详解
Apr 30 Python
在Python中操作字符串之replace()方法的使用
May 19 Python
Python中的rfind()方法使用详解
May 19 Python
Python中functools模块的常用函数解析
Jun 30 Python
关于Python元祖,列表,字典,集合的比较
Jan 06 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
在PyCharm中三步完成PyPy解释器的配置的方法
Oct 29 Python
python 将字符串中的数字相加求和的实现
Jul 18 Python
基于Python爬取爱奇艺资源过程解析
Mar 02 Python
使用keras根据层名称来初始化网络
May 21 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+SQLite存储方案
2010/09/04 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
php中switch语句用法详解
2015/08/17 PHP
PHP二维数组去重算法
2016/12/17 PHP
初探jquery——表单应用范例
2007/02/20 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
2014/12/16 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
js实现跨域访问的三种方法
2015/12/09 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
Three.js快速入门教程
2016/09/09 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
ES6 Array常用扩展的应用实例分析
2019/06/26 Javascript
微信小程序JS加载esmap地图的实例详解
2019/09/04 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
[03:04]2018年度DOTA2玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
全球性的奢侈品梦工厂:Forzieri(福喜利)
2019/02/20 全球购物
超市开学活动方案
2014/03/01 职场文书
开学典礼决心书
2014/03/11 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
营销计划书范文
2015/01/17 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server