[TIL#11] Python 自學 day11 matplotlib 統計圖、長條圖、圓餅圖、散佈圖

今天瓦特歐要來介紹,大家在excel看到的散佈圖(Scatter diagram)、長條圖
(Bar Graph/Bar Chart)、派餅圖( Pie Chart/Circle Graph),如何在python
環境中做出這樣各種分析圖,幫助大家在沒有matlab軟體或者需要做大量分析圖表時的好幫手!

為了方便學習,先創造一些,資料來做圖,今天就選用台灣最強晶圓廠台積電的資
料來當作主角,現在時間為2022/04/09星期六。

Step1: Import 今天主要的library matplotlib
import matplotlib.pyplot as plt

Step2: 準備今天的資料台積電2022月營收
#台積電月營收
revenue_2021=[1267,1065,1291,1113,1124,1485,1246,1374,1527,1345,1483,1554]
month_2021=[1,2,3,4,5,6,7,8,9,10,11,12]

解說:
revenue_2021是每個月營收的資料,資料格式為list
month_2021為當matplotlib畫圖時需要知道,每個資料的名稱,因此
這邊放入月份

Step3: 輸入畫圖指令
plt.bar(month_2021, revenue_2021)
plt.xlabel(‘Month’)
plt.ylabel(‘Revnue(billion)’)
plt.title(‘TSMC Revnue’)
plt.show()

解說:
plt.bar(x,y) x放入x軸資料,即2021的月份,y軸放入台積電的月營收
xlabel 放入x軸標題名稱
ylabel 放入y軸標題名稱
plt.title放入整張圖片標題名稱
plt.show()

Step4: 觀看畫出的圖

垂直長條圖與完整程式碼:

#TSMC pre month revenue
revenue_2021=[1267,1065,1291,1113,1124,1485,1246,1374,1527,1345,1483,1554]
month_2021=[1,2,3,4,5,6,7,8,9,10,11,12]

plt.bar(month_2021, revenue_2021)
plt.xlabel('Month')
plt.ylabel('Revnue(billion)')
plt.title('TSMC Revnue')
plt.show()

橫向長條圖與完整程式碼:

#TSMC pre month revenue
revenue_2021=[1267,1065,1291,1113,1124,1485,1246,1374,1527,1345,1483,1554]
month_2021=[1,2,3,4,5,6,7,8,9,10,11,12]

plt.barh(month_2021, revenue_2021)
plt.ylabel('Month')
plt.xlabel('Revnue(billion)')
plt.title('TSMC Revnue')
plt.show()

散佈圖與完整程式碼:

#TSMC pre month revenue
revenue_2021=[1267,1065,1291,1113,1124,1485,1246,1374,1527,1345,1483,1554]
month_2021=[1,2,3,4,5,6,7,8,9,10,11,12]

plt.scatter(month_2021, revenue_2021)
plt.xlabel('Month')
plt.ylabel('Revnue(billion)')
plt.title('TSMC Revnue')
plt.show()

派餅圖與完整程式碼:
由於派餅圖比較複雜一些,直接說明在程式碼中~

revenue_2021=[1267,1065,1291,1113,1124,1485,1246,1374,1527,1345,1483,1554]
month_2021=[1,2,3,4,5,6,7,8,9,10,11,12]

#將月份補上英文,讓圓餅圖可以更能理解
for ii in range(len(month_2021)):
    month_2021[ii] = 'month_' +str(month_2021[ii])
# 設定圓餅圖大小

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

# 依據類別數量,分別設定要突出的距離,由於最大的在12月份,因此瓦特歐
讓第12月份脫離圓心半徑0.25

separeted = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25)      

#設定12個顏色讓每個月營收,有不同的顏色方便閱讀~

color = ['#ff0000','#FFA6FF', '#D0D0D0', '#66b3ff', '#28ff28', '#ffff37', '#C2FF68',
         '#E6CAFF','#B87070', '#AFAF61','#6FB7B7', '#00E3E3']

# 設定圓餅圖屬性

pictures,category_text,percent_text = plt.pie(
        revenue_2021,                   # 數值
        labels = month_2021,            # 分類的標記

        colors = color,                 # 顏色設定    
        autopct = "%0.2f%%",            # 四捨五入至小數點後面位數
        explode = separeted,            # 設定分隔的區塊位置
        pctdistance = 0.7,               # 數值與圓餅圖的圓心距離
        radius = 0.7,                   # 圓餅圖的半徑,預設是1
        center = (-10,0),               # 圓餅圖的圓心座標
        shadow=False)                   # 是否使用陰影

# 設定legnd的位置,就是圖例位置~

plt.legend(loc = "best")

# 設定圖片標題


plt.title('TSMC Revnue month')
# 畫出圓餅圖


plt.show()

感謝收看今天的圓餅圖、長條圖、散佈圖範例,如果有更多python需要研究的題
材,歡迎留言給瓦特歐,瓦特歐要是知道相關知識的話,願意寫解說跟各位朋友解說!

瓦特歐Python介紹系列:
[TIL#1] Python 自學 day1 Anaconda
[TIL#2] Python 自學 day2 變數
[TIL#3] Python 自學 day3 流程控制
[TIL#4] Python 自學 day4 製作執行檔
[TIL#5] Python 自學 day5 執行檔更換icon
[TIL#6] Python 自學 day6 PIL浮水印、圖片大小變更
[TIL#7] Python 自學 day7 大量圖片Resize 處理 懶人包
[TIL#8] Python 自學 day8 GUI製作- 使用Tkinter Grid管理器
[TIL#9] Python 自學 day9 GUI製作 放入圖片 grid 版本
[TIL#10] Python 自學 day10 創造圖片的拼貼
[TIL#11] Python 自學 day11 matplotlib 統計圖、長條圖、圓餅圖、散佈圖


Leave a Comment