數據可視化(matplotlib)-------圖表樣式美化

目錄

一、圖表樣式概述

(一)、默認圖表樣式

?(二)、圖表樣式修改

1、局部修改

2、全局修改

二、使用顏色

(一)、使用基礎顏色

1、單詞縮寫或單詞表示的顏色

2、十六進制/HTML模式表示的顏色

3、RGB模式表示的顏色

(二)、使用顏色映射表

三、選擇線型

?選擇線條的類型

四、添加數據標記

(一)、添加折線圖或散點圖的數據標記

1、marker參數

(二)、格式字符串

五、設置字體

設置字體樣式

六、切換主題風格

use()函數-----切換圖表的主題風格?

?use(style)

七、填充區域

填充多邊形或曲線之間的區域

1、fill()

2、fill_between()

3、fill_betweenx()


一、圖表樣式概述

(一)、默認圖表樣式

matplotlib在繪圖的過程中會讀取存儲在本地的配置文件matplotlibrc,通過matplotlibrc文件中的缺省配置信息指定圖表元素的默認樣式完成圖表元素樣式的初始設置

通過rc_params()函數可以查看matplotlibrc文件中全部的配置項

配置項按照作用對象的不同主要分為10種配置要素:

?(二)、圖表樣式修改

圖表的樣式可以通過兩種方式進行修改:局部修改全局修改

1、局部修改

局部修改的方式是指通過代碼動態地修改matplotlib配置項,此方式用于程序局部定制的需求。若希望局部修改圖表的樣式,可以通過以下任一種方式實現

1通過給繪圖函數或設置圖表元素函數的關鍵字參數傳值來修改圖表的樣式。

2通過“rcParams[配置項]”重新為配置項賦值來修改圖表的樣式。

3通過給rc()函數的關鍵字參數傳值來修改圖表的樣式。

1種方式只能對某一圖表中指定元素的樣式進行修改,而第2種和第3種方式可以對整個py文件中指定元素的樣式進行修改

2、全局修改

全局修改的方式是指直接修改matplotlibrc文件的配置項,此方式用于滿足程序全局定制的需求,可以將指定的圖表樣式進行統一修改,無需每次在具體的程序中進行單獨修改。 matplotlib使用matplotlibrc文件的路徑搜索順序

當前工作路徑 :程序運行的目錄。
用戶配置路徑 :通常位于 HOME/.matplotlib/ 目錄中,可以通過環境變量 MATPLOTLIBRC 進行修改。
系統配置路徑 :位于 matplotlib 安裝路徑的 mpl-data 目錄中。

matplotlib_fname()函數查看當前使用的matplotlibrc文件所在的路徑

二、使用顏色

(一)、使用基礎顏色

matplotlib的基礎顏色主要有3種表示方式:單詞縮寫或單詞十六進制或HTML模式RGB模式

1、單詞縮寫或單詞表示的顏色

matplotlib中支持使用單詞縮寫或單詞表示的8種顏色:青色、洋紅色、黃色、黑色、紅色、綠色、藍色、白色

2、十六進制/HTML模式表示的顏色

matplotlib支持使用十六進制或HTML/CSS的形式表示更多的顏色,它將這些顏色存儲在colors.cnames字典中,可通過訪問colors.cnames字典查看全部的顏色

3RGB模式表示的顏色

matplotlib支持使用RGB模式的三元組表示顏色,其中元組的第1個元素代表紅色值,第2個元素代表綠色值,第3個元素代表藍色值,且每個元素的取值范圍均是[0,1]

color = (0.3, 0.3, 0.4)

(二)、使用顏色映射表

通過 colormaps() 函數可以查看所有可用的顏色映射表。
import matplotlib.pyplot as plt
plt.colormaps()

顏色映射表分類:?

Sequential :表示同一顏色從低飽和度到高飽和度的單色顏色映射表。
Diverging :表示顏色從中間的明亮色過渡到兩個不同顏色范圍方向的顏色映射表。
Qualitative :表示可以輕易區分不同種類數據的顏色映射表。

?可以通過matplotlib.cm.register_cmap()函數將自定義的顏色映射表添加到matplotlib中。

?

三、選擇線型

?選擇線條的類型

圖表中每個線條均具有不同的含義,一般可以通過顏色、寬度、類型來區分線條,其中類型是區分線條的常見方式之一。

matplotlib中內置了4種線條的類型:短虛線點劃線長虛線實線

在使用pyplot繪制折線圖、顯示網格或添加參考線時,可以將線型取值傳遞給linestylels參數,以選擇其它的線條類型。

plt.plot([1, 2, 3], [3, 4, 5], linestyle='--')
plt.plot([1, 2, 3], [3, 4, 5], ls='--')

四、添加數據標記

數據標記一般指代表單個數據的圓點或其它符號等,用于強數據點的位置,常見于折線圖和散點圖中。

(一)、添加折線圖或散點圖的數據標記

數據標記可以分為填充型數據標記非填充型數據標記

1、marker參數

在使用pyplotplot()scatter()函數繪制折線圖或散點圖時,可以將標記取值傳遞給marker參數,從而為折線圖或散點圖添加數據標記。

plt.plot([1, 2, 3], [3, 4, 5], marker='*')

(二)、格式字符串

matplotlib在繪制折線圖時,可以使用字符串分別為線條指定顏色、線型和數據標記這三種樣式,但每次都需要分別給參數colorlinestylemarker傳值進行一一設置,使得編寫的代碼過于繁瑣。為此,matplotlib提供了由顏色、標記、線型構成的格式字符串

格式字符串是快速設置線條基本樣式的縮寫形式的字符串。

'[顏色][標記][線型]'

以上格式的每個選項都是可選的,選項之間組合的順序也是可變的。
顏色只能是字母縮寫方式表示的顏色。
若格式字符串中只有顏色一個選項,可以使用十六進制、單詞拼寫等其它形式表示的顏色。
plt.plot([1, 2, 3], [3, 4, 5], 'mo--')

五、設置字體

設置字體樣式

matplotlib中文本是text模塊的Text類對象,可以通過之前介紹的text()annotate()title()等函數進行創建。Text類中提供了一系列設置字體樣式的屬性,包括字體類別、字體大小、字體風格、字體角度等

也可以作為text()annotate()title()函數的同名關鍵字參數,以便用戶在創建文本的同時設置字體的樣式。

六、切換主題風格

matplotlib.style模塊中內置了一些圖表的主題風格,通過切換不同的主題風格以滿足用戶的不同需求。

所有的主題風格都存儲于matplotlib配置文件夾的stylelib目錄中,可以通過訪問available變量查看所有可用的主題風格

import matplotlib.style as ms
print(ms.available)

use()函數-----切換圖表的主題風格?

?use(style)

以上函數的參數style表示圖表的主題風格,它可以接收matplotlib中所有可用的主題風格的字符串,也可以接收“default”來恢復默認的主題風格

七、填充區域

matplotlib中提供了多個函數用于填充多邊形或區域,分別為fill()fill_between()fill_betweenx(),其中fill()函數用于填充多邊形,fill_between()fill_betweenx()函數分別用于填充兩條水平曲線或垂直曲線之間的區域。

填充多邊形或曲線之間的區域

1、fill()

fill(*args,?data=None,?facecolor, edgecolor, linewidth, **kwargs)

*args:表示x坐標、y坐標或顏色的序列。

acecolor:表示填充的背景顏色

edgecolor:表示邊框的顏色

linewidth:表示邊框的寬度。

2、fill_between()

fill_between(x,?y1,?y2=0,?where=None,?interpolate=False,?step=None,? data=None,?**kwargs)

?x:表示x坐標的序列。

y1:表示第一條曲線的y坐標

y2:表示第二條曲線的y坐標

where:布爾值,表示要填充區域的條件

y1>y2說明第一條曲線位于第二條曲線上方時填充;y1<y2說明第二條曲線位于第一條曲線上方時填充

3、fill_betweenx()

fill_betweenx(y,?x1,?x2=0,?where=None,?step=None,?interpolate=False,?data=None,?

**kwargs)

?y:表示y坐標的序列。

x1:表示第一條曲線的x坐標

x2:表示第二條曲線的x坐標

where:布爾值,表示要填充區域的條件

x1>x2說明第一條曲線位于第二條曲線右方時填充;y1<y2說明第二條曲線位于第一條曲線右方時填充。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/899712.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/899712.shtml
英文地址,請注明出處:http://en.pswp.cn/news/899712.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

202518 | Ngnix

Ngnix是什么 Nginx&#xff08;發音為“engine-x”&#xff09;是一個開源的高性能HTTP服務器、反向代理服務器、負載均衡器和郵件代理服務器。它由俄羅斯程序員Igor Sysoev開發&#xff0c;首次發布于2004年&#xff0c;旨在解決C10K問題&#xff08;即如何高效地處理10,000個…

WP Mail 郵件發送:WordPress Mail SMTP設置

在我們WordPress搭建個人網站完成后&#xff0c;讀者或者客戶發送的電子郵件&#xff0c;包括你的WPForms電子郵件通知&#xff0c;如果無法到達預定收件人收件箱&#xff0c;這會對我們網站的運營造成很大的影響&#xff0c;問題在于WordPress Mail SMTP的發送方式。 SMTP&am…

小智機器人關鍵函數解析:MqttProtocol::SendAudio()對輸入的音頻數據進行加密處理,通過UDP發送加密后的音頻數據

MqttProtocol::SendAudio()對輸入的音頻數據進行加密處理&#xff0c;通過UDP發送加密后的音頻數據。 源碼&#xff1a; void MqttProtocol::SendAudio(const std::vector<uint8_t>& data) {// 使用互斥鎖保護臨界區&#xff0c;確保同一時間只有一個線程可以訪問該…

Hadoop 常用命令集總覽

Hadoop 常用命令集總覽 在大數據處理領域&#xff0c;Hadoop 作為一種廣泛應用的分布式系統基礎架構&#xff0c;其重要性不言而喻。熟練掌握 Hadoop 的常用命令對于高效的數據處理和分析工作至關重要。本文將對 Hadoop 的常用命令進行專業而詳盡的列舉&#xff0c;并結合實例進…

mac m4 Homebrew安裝MySQL 8.0

1.使用Homebrew安裝MySQL8 在終端中輸入以下命令來安裝MySQL8&#xff1a; brew install mysql8.0 安裝完成后&#xff0c;您可以通過以下命令來驗證MySQL是否已成功安裝&#xff1a; 2.配置mysql環境變量 find / -name mysql 2>/dev/null #找到mysql的安裝位置 cd /op…

GoLand 2024.3 中文 GO語言開發工具

GoLand 2024.3 中文 GO語言開發工具 文章目錄 GoLand 2024.3 中文 GO語言開發工具一、介紹二、效果三、下載 一、介紹 JetBrains GoLand 2024 &#xff0c;是一款GO語言開發工具&#xff0c;全行代碼補全&#xff1a;能使用本地運行的上下文感知深度學習模型&#xff0c;可以自…

Excel去掉單元格里面的換行的方法

方法一&#xff1a;使用“查找和替換”功能 ?選中單元格?&#xff1a;首先選中需要替換換行符的單元格或區域。 ?打開替換窗口?&#xff1a;按下“CtrlH”快捷鍵&#xff0c;打開“查找和替換”對話框。 ?輸入換行符?&#xff1a; 在“查找內容”框中&#xff0c;你可…

React 中的 Props

Props&#xff08;Properties 的縮寫&#xff09;是 React 中用于組件間通信的核心機制。它們允許數據從父組件單向傳遞到子組件。Props 是 React 組件不可變&#xff08;只讀&#xff09;的輸入參數&#xff0c;這種特性使得組件更加可預測且易于維護。 Props 的核心特性 單…

基于簡單神經網絡的線性回歸

一、概述 本代碼實現了一個簡單的神經網絡進行線性回歸任務。通過生成包含噪聲的線性數據集&#xff0c;定義一個簡單的神經網絡類&#xff0c;使用梯度下降算法訓練網絡以擬合數據&#xff0c;并最終通過可視化展示原始數據、真實線性關系以及模型的預測結果。 二、依賴庫 …

?19.思科路由器:OSPF協議引入直連路由的實驗研究

思科路由器:OSPF協議引入直連路由的實驗研究 一、實驗拓撲二、基本配置2.1、sw1的配置2.2、開啟交換機三層功能三、ospf的配置3.1、R1的配置3.2、R2的配置3.3、重啟ospf進程四、引入直連路由五、驗證結果隨著互聯網技術的不斷發展,路由器作為網絡互聯的關鍵設備,其性能與穩定…

USB——刪除注冊表信息

文章目錄 背景工具下載地址工具使用刪除注冊表信息背景 注測表中已記錄這個設備的信息,但現在設備描述符又指定為了 WinUSB 設備,所以當設備再次插入的時候,不會發送 0xEE 命令,造成了枚舉失敗。 兩種處理方式: 修改枚舉時候的 VID/PID刪除 USB 的注冊表信息工具下載地址…

如何快速解決django報錯:cx_Oracle.DatabaseError: ORA-00942: table or view does not exist

我們在使用django連接oracle進行編程時&#xff0c;使用model進行表映射對接oracle數據時&#xff0c;默認表名組成結構為&#xff1a;應用名_類名&#xff08;如&#xff1a;OracleModel_test&#xff09;&#xff0c;故即使我們庫中存在表test&#xff0c;運行查詢時候&#…

從 0 到跑通的 Qt + OpenGL + VS 項目的完整流程

&#x1f9e9; 全流程目標&#xff1a; 在 Visual Studio 中成功打開、編譯并運行一個 Qt OpenGL 項目&#xff08;.vcxproj 格式&#xff09; ? 第 1 步&#xff1a;安裝必要環境 工具說明Visual Studio 2017 / 2019 / 2022必須勾選 “使用 C 的桌面開發” 和 “MSVC 工具…

鴻蒙開發03樣式相關介紹(二)

文章目錄 一、樣式復用1.1 Styles修飾符1.2 Extend修飾符 二、多態樣式 一、樣式復用 在頁面開發過程中&#xff0c;會出出現大量重復的樣式設置代碼&#xff0c;可以使用Styles和Extend修飾符將幫助我們進行樣式復用。 1.1 Styles修飾符 Styles裝飾器可以將多條樣式設置提煉…

裝飾器模式與模板方法模式實現MyBatis-Plus QueryWrapper 擴展

pom <dependency><groupId>com.github.yulichang</groupId><artifactId>mybatis-plus-join-boot-starter</artifactId> <!-- MyBatis 聯表查詢 --> </dependency>MPJLambdaWrapperX /*** 拓展 MyBatis Plus Join QueryWrapper 類&…

05-031-自考數據結構(20331)- 哈希表 - 例題分析

哈希表考題主要涵蓋四大類型:1)函數設計類(如除留余數法計算地址,需掌握質數p的選擇技巧);2)沖突處理類(線性探測法要解決堆積現象,鏈地址法需繪制鏈表結構);3)性能分析類(重點計算ASL,理解裝填因子α的影響規律);4)綜合應用類(如設計ISBN查詢系統,需結合實際問…

rustdesk 自建服務器 key不匹配

請確保id_ed25519文件的權限為&#xff1a; -rw------- 1 root root 88 Apr 31 10:02 id_ed25519在rustdesk安裝目錄執行命令&#xff1a; chmod 700 id_ed25519

Dify 深度集成 MCP實現災害應急響應

一、架構設計 1.1 分層架構 #mermaid-svg-5dVNjmixTX17cCfg {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-5dVNjmixTX17cCfg .error-icon{fill:#552222;}#mermaid-svg-5dVNjmixTX17cCfg .error-text{fill:#552222…

AI與.NET技術實操系列(三):在 .NET 中使用大語言模型(LLMs)

1. 引言 在技術迅猛發展的今天&#xff0c;大語言模型&#xff08;Large Language Models, LLMs&#xff09;已成為人工智能領域的核心驅動力之一。從智能對話系統到自動化內容生成&#xff0c;LLMs的應用正在深刻改變我們的工作與生活方式。對于.NET開發者而言&#xff0c;掌…

一個極簡的詞法分析器實現

文章目錄 推薦&#xff1a;Tiny Lexer - 一個極簡的C語言詞法分析器特點核心代碼實現學習價值擴展建議 用Java實現一個簡單的詞法分析器完整實現代碼代碼解析示例輸出擴展建議 用Go實現極簡詞法分析器完整實現代碼代碼解析示例輸出擴展建議 最近兩天搞一個DSL&#xff0c;不得不…