matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
作者:mighty13 发布时间:2022-08-31 12:17:15
什么是运行时配置(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):加载默认样式。
来源:https://blog.csdn.net/mighty13/article/details/112018769


猜你喜欢
- 对一个列表list而言,进行排序是很简单的。正序排序(从小到大)用list.sort() 倒序排序(从大到小)用list.sort
- 一.脚本基础 1.USE语句 &n
- 一、读取Excel文件使用pandas的read_excel()方法,可通过文件路径直接读取。注意到,在一个excel文件中有多个sheet
- 1、最优化与线性规划最优化问题的三要素是决策变量、目标函数和约束条件。线性规划(Linear programming),是研究线性约束条件下
- @property作用:python的@property是python的一种装饰器,是用来修饰方法的。我们可以使用@property装饰器来
- 如下所示:def test1(): try: print('to do stuff')  
- 前言:HTML5和CSS3的时代到来了,新版2011版淘宝网首页已全部使用HTML5,拥抱变化才是王道。为之漫笔翻译的很好,看了一遍后,感觉
- 本文实例为大家分享了Go实现文件上传的具体代码,供大家参考,具体内容如下文件上传:客户端把上传文件转换为二进制流后发送给服务器,服务器对二进
- 痛点json 是当前最常用的数据传输格式之一,纯文本,容易使用,方便阅读,在通信过程中大量被使用。 你是否遇到过json中某个字段
- 由于一些原因,需要SAE上站点的日志文件,从SAE上只能按天下载,下载下来手动处理比较蛋疼,尤其是数量很大的时候。还好SAE提供了API可以
- 引言上次介绍到rank0的机器生成了ncclUniqueId,并完成了机器的bootstrap网络和通信网络的初始化,这节接着看下所有节点间
- 由于需要从某个网页上下载一些PDF文件,但是需要下载的PDF文件有几百个,所以不可能用人工点击来下载。正好Python有相关的模块,所以写了
- 我的数据库和报表服务的版本如下:数据库:SQL Server 2008 R2报表服务:SQL Server 2008 R2 Reportin
- DataFrame对象的创建,修改,合并import pandas as pdimport numpy as np创建DataFrame对象
- 段正淳的css笔记(1)分类之间的横竖线:试想过总结出这几年来写css与xhtml的经验 ,汇总成一片”旷世奇文”分享给大家。无奈寡人年世已
- 1.什么是标准库(Standard Library)标准库指的是js的标准内置对象,是js这门语言本身初始时提供的在全局范围的对象2.Obj
- 本文实例讲述了python协程用法。分享给大家供大家参考。具体如下:把函数编写为一个任务,从而能处理发送给他的一系列输入,这种函数称为协程d
- 先来描述一下我遇到的问题,在进行matplotlib学习时, plot.show() 总是无法成功运行,总是会报一个错:RuntimeErr
- Numpy支持大量的维度数组和矩阵运算,对数组运算提供了大量的数学函数库!Numpy比Python列表更具优势,其中一个优势便是速度。在对大
- 新手小白,一直在为cmd窗口的暗白色文字感到苦恼,在网上找了许多方法(也就那两种吐舌头),现在稍微整理了一下,便于使用。效果图:import