python使用matplotlib畫圓餅圖(Pie chart)

matplotlib是利用python來實作的繪圖套件之一,也是最常被用來做資料視覺畫的工具;而這次要跟大家分享的是,視覺化最基本的圖形-圓餅圖(Pie chart)。圓餅圖(Pie chart)通常用來表達各種分類所佔的比例。例如:購買商品類型的比例、消費族群的比例等等,有助於我們迅速區分哪個類型(或族群)是我們最想關注的資訊。下面就以個人的每月支出金額來示範圓餅圖(Pie chart)的範例。

 

首先一樣import matplotlib這個套件

import matplotlib

import matplotlib.pyplot as plt

# import字型管理套件

from matplotlib.font_manager import FontProperties

# 指定使用字型和大小

myFont = FontProperties(fname='D:/Programs/Lib/site-packages/matplotlib/mpl-data/fonts/ttf/msjh.ttc', size=14)

 

# 分類類型

category = ['便利商店', '百貨公司', '政府規費', '小吃美食', '餐廳', '大賣場']

# 每月總花費

expend = [1320, 3200, 500, 6000, 5800, 3900]

# 設定顏色

color = ['#ff0000', '#d200d2', '#66b3ff', '#28ff28', '#ffff37', '#5b00ae']

 

# 設定圓餅圖大小

plt.figure(figsize=(12,8))

# 依據類別數量,分別設定要突出的距離

separeted = (0, 0, 0.3, 0, 0, 0)      

 

# 設定圓餅圖屬性

pictures,category_text,percent_text = plt.pie(

        expend,                           # 數值

        colors = color,                   # 指定圓餅圖的顏色

        labels = category,                # 分類的標記

        autopct = "%0.2f%%",              # 四捨五入至小數點後面位數

        explode = separeted,              # 設定分隔的區塊位置

        pctdistance = 0.65,               # 數值與圓餅圖的圓心距離

        radius = 0.7,                     # 圓餅圖的半徑,預設是1

        center = (-10,0),                 # 圓餅圖的圓心座標

        shadow=False)                     # 是否使用陰影

 

# 把每個分類設成中文字型

for t in category_text:

    t.set_fontproperties(myFont)

# 把每個數值設成中文字型

for t in percent_text:

    t.set_fontproperties(myFont)

   

# 設定legnd的位置

plt.legend(loc = "center right", prop=myFont)

# 設定圖片標題,以及指定字型設定,x代表與圖案最左側的距離,y代表與圖片的距離

plt.title("Python 畫圓餅圖(Pie chart)範例", fontproperties=myFont, x=0.5, y=1.03)

# 畫出圓餅圖

plt.show()

 

下面就是圓餅圖完成的樣子

Python 畫圓餅圖(Pie chart)範例.png

 

 

 

如果覺得對你有幫助的話,請幫小弟按個讚吧~

 

Python相關文章:

python import 路徑說明

python tuple資料讀取、合併、查詢

python使用matplotlib畫折線圖(Line chart)

Python - list的讀取、增加、刪除、修改方法

python dict資料讀取、新增、修改

python使用matplotlib畫圓餅圖(Pie chart)

pandas Dataframe常用的資料處理方法-上(合併資料、選擇欄位、刪除欄位、刪除列)

 

 

 

 

 

 

 

arrow
arrow
    全站熱搜

    newaurora 發表在 痞客邦 留言(0) 人氣()