天天看點

matplotlib子產品詳解

matplotlib子產品詳解
matplotlib子產品詳解

程式

 生成圖檔:

matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解

pie(): matplotlib中繪制餅圖的函數。第一個參數傳入用于繪制餅圖的資料清單,其他參數都是關鍵字參數。labels參數用于設定每個扇形的标簽,說明每個扇形的資料歸屬。autopct參數用于設定餅圖中的百分比,一般保留兩位小數,傳入"%1.2f%%"即可。colors參數用于設定每個扇形的顔色,與資料清單一一對應,傳入一個與資料清單長度相等的清單。textprops參數用于設定标簽和百分比的字型、大小等,傳入一個字典。labeldistance參數用于設定标簽與餅圖的距離,預設值為1.1。

餅圖将一個圓餅按照各分類的占比劃分成多個扇形,整個圓餅代表資料的總量,每個扇形表示該分類占總體的比例大小,所有扇形相加的和等于100%。餅圖适用于表示不同分類在總體中的占比情況,通過弧度大小來比較不同分類的占比大小,尤其在需要突出顯示其中某一個部分的占比時。

上面的餅圖繪制了2020年A國大選的票數占比情況,可以一目了然地看到候選人的得票占比情況。如果需要突出顯示某位候選人的得票占比,可以對餅圖進行分離展示。

matplotlib子產品詳解
matplotlib子產品詳解

建立圖形,有x,y軸,有數字辨別的正方體形式,此時沒有設定字型,不能顯示中文,并且終端報警告,沒有字型

matplotlib子產品詳解

 x,y軸加字型屬性,這樣圖檔中 就顯示中文了

matplotlib子產品詳解

修改字型,就報錯了,

matplotlib子產品詳解

 雖然simsun.ttc檔案在本地也找不到,但是就是能用

matplotlib子產品詳解

 這個目錄下有很多字型,不知道咋用

matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解

 靈活,另一個優點:不污染全局字型設定

matplotlib子產品詳解
matplotlib子產品詳解

 直接給所有的加字型了

matplotlib子產品詳解

 簡潔的用法。缺點:污染全局字型設定。(是以需要第二步驟)

 一行那裡改不存在的字型不可以顯示,這裡的2行那裡有沒有,圖檔貌似都沒變化

matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解

 靈活的用法。缺點:影響全局字型(是以需要第二步驟)

方式二用時才設定,且不會污染全局字型設定,更靈活

方式三、方式四不需要對字型路徑寫死,而且一次設定,多次使用,更友善。

matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解

宋體

SimSun

黑體

SimHei

微軟雅黑

Microsoft YaHei

微軟正黑體

Microsoft JhengHei

新宋體

NSimSun

新細明體

PMingLiU

細明體

MingLiU

标楷體

DFKai-SB

仿宋

FangSong

楷體

KaiTi

隸書

LiSu

幼圓

YouYuan

華文細黑

STXihei

華文楷體

STKaiti

華文宋體

STSong

華文中宋

STZhongsong

華文仿宋

STFangsong

方正舒體

FZShuTi

方正姚體

FZYaoti

華文彩雲

STCaiyun

華文琥珀

STHupo

華文隸書

STLiti

華文行楷

STXingkai

華文新魏

STXinwei

matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解

在繪制餅圖的pie()函數中,explode參數用于設定每個扇形到圓心的距離,傳入一個與資料清單長度相等的清單,預設每個扇形到圓心的距離都是0,将想要分離展示的扇形距離設定成一個适合的值,如0.1,即可将該部分突出展示。為了展示效果更好,可以使用startangle參數對餅圖進行旋轉(如将分離的扇形旋轉到左側),給startangle參數傳入一個角度,将餅圖逆時針旋轉對應的角度,startangle參數表示的是餅圖的起始角度,預設為正右方向,即傳統的x軸正方形,此方向表示0度,設定起始角度後可以實作旋轉的效果。對扇形進行分離展示後,将shadow參數設定為True,給餅圖添加陰影,使餅圖更立體,餅圖切分的效果會更好。

在對餅圖進行分離後,餅圖的布局會發生變化,為了控制餅圖占用的區域是一個正方形,且避免餅圖變成橢圓形,使用axis('equal')函數,傳入'equal'參數。

在上一張餅圖的基礎上,經過設定後,将獲勝者Biden的得票率突出顯示,可以更突出地展示獲勝者的得票占比。

matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解

要繪制環形的餅圖,在繪制出餅圖後,再次調用pie()函數繪制一個更小的純白餅圖即可,先後順序不能相反。

在繪制純白的餅圖時,傳入隻有一個資料的清單,一條資料會占滿整個餅圖,占比100%,顔色設定為colors='w'。radius參數預設為1,如果第一張餅圖的radius參數是1,設定白色餅圖的radius參數小于1,得到的白色餅圖就會小于第一張餅圖。此外不需要設定其他參數,白色餅圖不需要顯示百分比,不需要顯示标簽等。

繪制完成小的白色餅圖,環形效果就實作了,還需要調整第一張餅圖的百分比的顯示位置。在pie()函數中,pctdistance參數用于設定百分比顯示離圓心的距離,預設值是0.6,設定環形效果時,可以将pctdistance參數增大,使百分比顯示在環形的中間。同時,因為環形餅圖是通過遮擋實作的,陰影展示不完全,看起來比較别扭,是以不設定shadow參數,去掉陰影。

matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解

加上參數fc改變為單一顔色

matplotlib子產品詳解

 加上顔色參數也可以

matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解

 4、堆疊柱狀圖

matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解

适用于如下課程表類似的結構。根據時間或者某個序列,對一種或多類對象的數值,顯示每個序列中這幾類的數值和占比情況

matplotlib子產品詳解

 還是适用上圖的情況

matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解
matplotlib子產品詳解

中文字型:https://www.jb51.net/article/134546.htm

https://www.cnblogs.com/bainianminguo/p/10952586.html

餅圖:https://blog.csdn.net/weixin_43790276/article/details/109684441

官網圖例子:https://matplotlib.org/gallery/index.html

cpu圖:https://www.it610.com/article/1304777370737086464.htm

動态cpu:http://www.zzvips.com/article/145005.html

展示圖檔在html頁面:https://www.cnblogs.com/amize/p/15060978.html

繪圖知識點:https://www.cnblogs.com/zhizhan/p/5615947.html

菜鳥教程:https://www.runoob.com/matplotlib/matplotlib-pie.html

matplotlib柱形圖:https://blog.csdn.net/qq_29721419/article/details/71638912