網站首頁 編程語言 正文
Matplotlib安裝與配置
- 1. Matplotlib 簡介
- 2. Matplotlib 安裝
- 3. Matplotlib 配置
- 3.1 通過配置文件進行配置
- 3.2 通過 rcParams['param_name'] 配置
- 3.3 通過 matplotlib.rc() 函數配置
- 相關鏈接
1. Matplotlib 簡介
Matplotlib
是 Python
生態系統的一個重要組成部分,是用于可視化的繪圖庫,它提供了一整套和 matlab
相似的命令 API
和可視化界面,可以生成出版質量級別的精美圖形,Matplotlib
使繪圖變得非常簡單,在易用性和性能間取得了優異的平衡。
2. Matplotlib 安裝
Matplotlib
的依賴包和 Matplotlib
本身在標準 Python
包存儲庫中均有以 wheel
文件的形式提供。因此,可以使用 pip
軟件包管理工具輕松地將 Matplotlib
安裝在 MacOS
、Windows
、Linux
等系統上。和許多第三方庫的安裝方法一樣,安裝 Matplotlib
只需命令行中,執行以下命令:
pip install -U matplotlib
需要注意的是:要安裝 Matplotlib
庫,計算機中必須已經安裝 Python
。如果使用的是 Jupyter Notebook
,由于 Jupyter Notebook
附帶了許多依賴庫,如 Numpy
、Pandas
、Matplotlib
、Scikit Learn
等,則不必單獨安裝這些庫。
安裝完成后可以使用如下命令檢查,確認安裝成功:
pip list
3. Matplotlib 配置
安裝成功后,即可以在 Python
中像使用其它庫一樣導入和使用 Matplotlib
,而無需更多文件的配置,通常我們將其導入后使用別名 mpl
:
import matplotlib as mpl
Matplotlib
的配置更多的用于修改繪制圖形的默認樣式,Matplotlib
的配置文件中包含了各種默認的圖形配置信息,我們可以通過修改這些配置信息修改全局參數進行自定義所繪制圖形的樣式,這些參數可以改變圖形尺寸、配色方案、字體等一系列信息。
可以使用多種方式完成 Matplotlib
的繪圖配置,本文主要介紹以下三種配置方式通過配置文件
進行配置、通過 rcParams['param_name']
動態配置和通過 matplotlib.rc()
函數配置。
3.1 通過配置文件進行配置
配置文件同樣可以分為幾個不同的級別,如果我們希望修改所有的圖形使用的默認配置,則需要修改全局默認配置;而如果我們需要根據不同任務使用不同的配置,或者不同用戶使用不同的配置,則需要修改局部配置文件,以能夠在不同的用戶和任務中使用不同圖形配置。根據配置文件的作用范圍,可以分為三個級別:全局配置文件、用戶級配置文件和當前任務配置文件。
不同系統三個級別的文件位于不同目錄,可以通過使用以下代碼,查看配置文件的路徑:
import matplotlib as mpl
import os
# 全局配置目錄
print(mpl.__path__)
# 當前用戶配置目錄
print(mpl.get_configdir())
# 當前任務配置目錄,即當前代碼運行目錄
print(os.getcwd())
- 全局配置文件
mpl-data\matplotlibrc
,位于Matplotlib
的安裝目錄直線,例如在Window
下將其安裝在D:\Program Files\Python39\lib\site-packages\matplotlib
目錄下,則全局配置文件的完整文件名為D:\Program Files\Python39\lib\site-packages\matplotlib\mpl-data\matplotlibrc
,默認情況下,圖形使用此配置文件進行繪制。 - 用戶級配置文件
.matplotlib\matplotlibrc
,位于用戶目錄之下,例如,用戶目錄為C:\Users\Brainiac\
,則相應配置文件為C:\Users\Brainiac\.matplotlib\matplotlibc
;如果不存在此文件,也可以根據全局配置文件與用戶需求自定創建和修改。 - 當前任務配置文件
matplotlibrc
,即位于代碼運行目錄之下,可以用于為當前任務的代碼定制Matplotlib
配置,默認情況下不存在此文件,即默認使用全局或當前用戶配置文件,我們可以根據需要創建此文件,并根據需要進行配置。
介紹了配置文件的位置后,我們通過查看全局配置文件,觀察在配置文件中可以進行配置的相關圖形屬性,以下為一個全局配置文件示例:
NOTE:
可以看到并不推薦直接修改全局配置文件,可以通過將此文件復制到用戶及配置文件目錄或當前任務配置文件目錄中,并根據需要進行修改。配置文件的格式一般為 屬性名: 屬性值
,如下配置線寬為 1.5
:
lines.linewidth: 1.5
3.2 通過 rcParams[‘param_name’] 配置
而如果我們僅僅想在當前文件中簡單修改自定義配置,則可以通過 rcParams['param_name']
更快速的修改。通過使用以下代碼,可以查看能夠自定義配置的屬性有哪些:
import matplotlib as mpl
# 可以使用以下三種方式
print(mpl.rc_params())
print(mpl.rcParamsDefault)
print(mpl.rcParams)
得到的輸出結果與配置文件中類似,格式同樣為 屬性名: 屬性值
:
...
font.size: 10.0
font.stretch: normal
font.style: normal
font.variant: normal
font.weight: normal
...
使用 rcParams['param_name']
方式修改配置的方式如下,其中 param_name
表示屬性名:
import matplotlib as mpl
# 修改線條寬度為2
mpl.rcParams['lines.linewidth'] = 2
# 修改線條顏色為紅色
mpl.rcParams['lines.color'] = 'r'
在實際應用中,最常用的兩種配置包括中文和中文負號的顯示,如果不進行配置,默認不支持顯示中文與中文負號:
使用以下方式進行配置:
import matplotlib as mpl
#顯示中文
mpl.rcParams['font.sans-serif'] = ['SimHei']
#顯示負號
mpl.rcParams['axes.unicode_minus']=False
配置后圖形就可以正常顯示中文和中文符號:
3.3 通過 matplotlib.rc() 函數配置
同樣我們也可以使用 matplotlib.rc()
函數進行配置,使用方法如下:
import matplotlib as mpl
# 修改線寬
mpl.rc('lines', linewidth=2, color='g')
其中 rc
函數的第一個參數為 group
表示屬性所屬的組,用于限定屬性的作用域,例如在以上示例中線寬 linewidth
屬于線 lines
用于限定只在線條中起作用,而對坐標軸等線寬 linewidth
不起作用,如果想要修改包括坐標軸在內的圖形線寬 linewidth
則需要使用:
import matplotlib as mpl
# 修改整個圖形線寬
mpl.rc('axes', linewidth=2)
相關鏈接
Matplotlib快速入門
Matplotlib圖形繪制
Matplotlib風格與樣式
原文鏈接:https://blog.csdn.net/LOVEmy134611/article/details/124494810
相關推薦
- 2022-04-11 K8S部署Kafka界面管理工具(kafkamanager)方法詳解_云其它
- 2022-10-11 C++eof()判斷是否讀取到文件尾
- 2022-10-10 Axios和Jquery實現文件上傳功能_jquery
- 2023-02-15 Python?PyWebIO提升團隊效率使用介紹_python
- 2022-11-09 WPF使用WrapPanel實現虛擬化效果_C#教程
- 2023-01-12 一文帶你入木三分地理解字符串KMP算法以及C++實現_C 語言
- 2022-09-03 ASP.NET中Response.BufferOutput屬性的使用技巧_實用技巧
- 2023-04-02 攔截信號Golang應用優雅關閉的操作方法_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支