Matplotlib ( IV ) — 畫圓餅圖

今天來教大家怎麼畫圓餅圖,其實跟摺線圖與柱狀圖一樣我們只要做點修正就可以成功地把我們要的圓餅圖給畫出來,只是每一種畫法的所需要用到的參數都不太一樣,所以現在我們就來看要怎麼畫出漂亮的圓餅圖吧~~

這次我們只取出 a 班來畫,下面可以很清楚的看到只要將 plt.後面改成 pie 就好了

import matplotlib.pyplot as plt
x = ['basketball', 'swim', 'take photos', 'reading', 'guitar']

class_a = [8, 7, 1, 6, 5]
plt.pie(class_a)

上面的可以看到圓餅圖很輕易的就被我們給畫出來了,然而看著這張圖你會發現什麼東西都看不出來,所以一樣,我們樣替每一塊顏色修改 ” labels ” 的參數,就可以把名稱加上去,另外我們可以也可以挑整圓餅的顏色,利用修改 ” colors ” 的參數,下面我們來時做看看:

pie_color = ["yellow","plum", "grey", "brown", "orange"]
plt.pie(class_a, colors = pie_color, labels = x)

顏色就被我們調整過囉~而且我們也把每個項目都加上名稱囉 !! 接下來就要幫這個圓餅圖取一個標題,不過這邊還存在一個問題,那就是很難看出每一塊每一塊的大小到底是多少,這時我們可以修改 ” autopct ” 這個參數,可以叫出每一塊的百分比,並選擇要用幾位數來表示:

pie_color = ["yellow","plum", "grey", "brown", "orange"]
plt.pie(class_a, colors = pie_color, labels = x, autopct = "%2.2f%%")
plt.title("Hobbies Investigation")

另外其中看起來很像外星文的"%2.2f%%"代表的是取兩位整數,兩位小數;如果是三位整數,一位小數的寫法就是:"%3.1f%%"。大家可以自己選擇百分比的寫法。

有一件事情,大家有沒有發現這個圓好像不是正圓,對這原本就是這樣,不是我亂拉圖的變形,這是一開始我也看了好久= =,後來發現還對 x, y 軸做設定。

好啦,這樣就是我要的圓餅圖了。不過還有一種場景,如果說在簡報的時候,我們要特別拿出其中一塊出來討論的話,在 Matplotlib 中可以特別把那一塊移出來。假設我們今天想要看” guitar ” 這一塊,我們可以利用 ” explode ” 這個參數來調整,不過要注意的是explode這個參數是要 ” 每一個 ” 區塊都做設定,跟上面的 ” colors “設定方法是一樣的:

pie_color = ["yellow","plum", "grey", "brown", "orange"]
explode_p = (0, 0, 0, 0, 0.1)
plt.pie(class_a, colors = pie_color, labels = x, autopct = "%2.2f%%", explode=explode_p)
plt.title("Hobbies Investigation")
plt.axis("equal")

其中如果要保持原位的就令成 ” 0 “,而第五項的 guitar 就把它設成 0.1 就可以得到我們我們一開始預期得到的圖案拉~~

 

 

 

 

 

 

 

Facebook Comments

發表迴響