matplotlib運(yùn)行時配置(Runtime Configuration,rc)參數(shù)rcParams解析
什么是運(yùn)行時配置(Runtime Configuration,rc)
Matplotlib使用matplotlibrc配置文件來自定義圖形的各種屬性,稱之為rc配置或rc參數(shù)(rcParams)。通過rc參數(shù)可以修改matplotlib絕大多數(shù)屬性的默認(rèn)值,包括窗體大小、每英寸的點(diǎn)數(shù)、線條寬度、顏色、樣式、坐標(biāo)軸、坐標(biāo)和網(wǎng)絡(luò)屬性、文本、字體等。
運(yùn)行時配置的默認(rèn)值
運(yùn)行時配置的默認(rèn)值存放在默認(rèn)的matplotlibrc文件中。
matplotlibrc文件與rcParams的關(guān)系
rcParams是RcParams類的實例,結(jié)構(gòu)類似于字典,用于處理matplotlib的默認(rèn)運(yùn)行時配置,它是matplotlib模塊的全局變量。當(dāng)導(dǎo)入matplotlib模塊時,matplotlibrc文件中的所有rc 參數(shù)存儲在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()))
修改運(yùn)行時配置參數(shù)的方法
通過rc文件:修改默認(rèn) matplotlibrc文件或者指定自定義rc文件。
修改默認(rèn) 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'})
還原修改運(yùn)行時配置默認(rèn)值的方法
- matplotlib.rcdefaults():根據(jù)matplotlib內(nèi)置的默認(rèn)樣式還原rcParams對象。
- matplotlib.rc_file_defaults():根據(jù)matplotlib加載的rc文件的源文件還原rcParams對象。
- matplotlib.style.use(default):加載默認(rèn)樣式。
到此這篇關(guān)于matplotlib運(yùn)行時配置(Runtime Configuration,rc)參數(shù)rcParams解析的文章就介紹到這了,更多相關(guān)matplotlib配置rcParams內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 如何在ASP.NET Core 的任意類中注入Configuration
- C# 添加對System.Configuration.dll文件的引用操作
- mybatis的Configuration詳解
- .Net Core3.0 配置Configuration的實現(xiàn)
- 詳解@ConfigurationProperties實現(xiàn)原理與實戰(zhàn)
- @ConfigurationProperties綁定配置信息至Array、List、Map、Bean的實現(xiàn)
- 詳解配置類為什么要添加@Configuration注解
- Spring @Configuration注解及配置方法
- Springboot @Configuration @bean注解作用解析
- SpringBoot @ConfigurationProperties使用詳解
- 繼承WebMvcConfigurationSupport后自動配置不生效及如何配置攔截器
- 解析SpringBoot @EnableAutoConfiguration的使用
- Spring中基于Java的配置@Configuration和@Bean用法詳解
- @Configuration與@Component作為配置類的區(qū)別詳解
- .NET Core 3.0之創(chuàng)建基于Consul的Configuration擴(kuò)展組件
- SpringBoot 中 AutoConfiguration的使用方法
- MyBatis異常-Property ''configLocation'' not specified, using default MyBatis Configuration
- Spring源碼解析之Configuration
相關(guān)文章
nditer—numpy.ndarray 多維數(shù)組的迭代操作
這篇文章主要介紹了nditer—numpy.ndarray 多維數(shù)組的迭代操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05Python已解決NameError: name ‘xxx‘ is not&nb
本文主要介紹了Python已解決NameError: name ‘xxx‘ is not defined,解決報錯NameError: name 'xxx' is not defined的關(guān)鍵在于仔細(xì)檢查拼寫、作用域和賦值等問題,感興趣的可以了解一下2024-06-06神經(jīng)網(wǎng)絡(luò)訓(xùn)練采用gpu設(shè)置的方式
這篇文章主要介紹了神經(jīng)網(wǎng)絡(luò)訓(xùn)練采用gpu設(shè)置的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03Python分割單詞和轉(zhuǎn)換命名法的實現(xiàn)
本文主要介紹了Python分割單詞和轉(zhuǎn)換命名法的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Python數(shù)組拼接np.concatenate實現(xiàn)過程
這篇文章主要介紹了Python數(shù)組拼接np.concatenate實現(xiàn)過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04python人工智能tensorflow函數(shù)tensorboard使用方法
這篇文章主要為大家介紹了python人工智能tensorflow函數(shù)tensorboard使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05