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 20 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
Mar 30 Python
Python psutil模块简单使用实例
Apr 28 Python
详解Python中expandtabs()方法的使用
May 18 Python
Python实现注册登录系统
Aug 08 Python
Django Form and ModelForm的区别与使用
Dec 06 Python
python从内存地址上加载python对象过程详解
Jan 08 Python
python3 deque 双向队列创建与使用方法分析
Mar 24 Python
keras中的卷积层&池化层的用法
May 22 Python
如何学习Python time模块
Jun 03 Python
Python借助with语句实现代码段只执行有限次
Mar 23 Python
python计算列表元素与乘积详情
Aug 05 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中try{}catch{}的使用方法
2016/12/09 PHP
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
全面解析JavaScript中“&&”和“||”操作符(总结篇)
2016/07/18 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
简单介绍Python的Django框架的dj-scaffold项目
2015/05/30 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
Python实现的特征提取操作示例
2018/12/03 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
中海讯通笔试题
2015/09/15 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
会展中心部门工作职责
2013/11/27 职场文书
创业计划书——互联网商机
2014/01/12 职场文书
致1500米运动员广播稿
2014/02/07 职场文书
致铅球运动员加油稿
2014/02/13 职场文书
老公保证书范文
2014/04/29 职场文书
租车协议书范本2014
2014/11/17 职场文书
门店店长岗位职责
2015/04/14 职场文书
七一晚会主持词
2015/06/29 职场文书
七一慰问简报
2015/07/20 职场文书
导游词之台湾阿里山
2019/10/23 职场文书
python glom模块的使用简介
2021/04/13 Python
如何使用vue3打造一个物料库
2021/05/08 Vue.js
javascript的setTimeout()使用方法总结
2021/11/20 Javascript