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 相关文章推荐
Django的数据模型访问多对多键值的方法
Jul 21 Python
Python-嵌套列表list的全面解析
Jun 08 Python
浅析Python中的赋值和深浅拷贝
Aug 15 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
利用pyinstaller打包exe文件的基本教程
May 02 Python
Python API 自动化实战详解(纯代码)
Jun 11 Python
浅析Python与Mongodb数据库之间的操作方法
Jul 01 Python
python opencv minAreaRect 生成最小外接矩形的方法
Jul 01 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
Dec 19 Python
Transpose 数组行列转置的限制方式
Feb 11 Python
python编写俄罗斯方块
Mar 13 Python
解决pycharm修改代码后第一次运行不生效的问题
Feb 06 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 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
PHP面向对象——访问修饰符介绍
2012/11/08 PHP
php共享内存段示例分享
2014/01/20 PHP
PHP Streams(流)详细介绍及使用
2015/05/12 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
JS创建类和对象的两种不同方式
2014/08/08 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
微信小程序之拖拽排序(代码分享)
2017/01/21 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
新手快速入门JavaScript装饰者模式与AOP
2019/06/24 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
2020/09/21 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
python+opencv实现动态物体识别
2018/01/09 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
Tensorflow使用支持向量机拟合线性回归
2018/09/07 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
使用Python解析Chrome浏览器书签的示例
2020/11/13 Python
浙大网新C/C++面试解惑
2015/05/27 面试题
财务会计专业推荐信
2013/11/30 职场文书
部队学习十八大感言
2014/01/11 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
欠款起诉书范文
2015/05/19 职场文书
《灰雀》教学反思
2016/02/19 职场文书
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS