農林漁牧網

您現在的位置是:首頁 > 林業

matplotlib的環形圖,你真瞭解嗎?

2022-02-27由 CDA資料分析師 發表于 林業

環形圖形是什麼樣的

環形圖是餅圖衍生出來的統計圖形,可以看作是兩個以上餅圖的疊合。環形圖與餅圖類似,其實是有差別的。餅圖是用圓形及圓內扇形的面積來表示數值大小的圖形,主要用於表示總體中各組成部分所佔的比例。與之對比,環形圖中間留有空白,可以用多個環展示多個樣本,既可以表示每個樣本中各部分的佔比,又可以對多個樣本的結構同時進行對比。

文字表達永遠沒有圖片來的直觀,從網上隨便搜了一個環形圖先簡單感受下:

matplotlib的環形圖,你真瞭解嗎?

繪製簡單環形圖

上邊的環形圖只有一個環,實際上可以根據需要繪製多個環巢狀在一起的環形圖,並且也可以加上每一段弧形所佔的比例,我們先從簡單的開始,繪製一個簡單的環形圖。

先看下資料來源長什麼樣子,依然是繪製餅圖時用到的資料:

matplotlib的環形圖,你真瞭解嗎?

所謂環形圖,其實用到的依然是繪製餅圖的函式,只是對其中的引數進行設定後形成環形圖,我們先來繪製一個簡單的第一小學成績環形圖:

matplotlib的環形圖,你真瞭解嗎?

和之前繪製餅圖不同的是多設定了三個引數,一個是設定半徑,一個是設定字型和顏色(介紹餅圖的文章中餅圖中字型有點小,顏色是預設的黑色,其實字型大小和顏色都是可以設定的),最後一個是設定弧度寬度和邊框顏色,所謂弧度的寬度其實就是環形的寬度。

來看下效果:

matplotlib的環形圖,你真瞭解嗎?

像這種簡單的環形圖,作用和餅圖差不多,只能反映一個小學的成績情況,如果想要檢視兩個學校對比的情況需要繪製兩個圖,當然環形圖可以解決這個問題,下邊我們來看下升級版的環形圖!

繪製升級版環形圖

以繪製兩個環形為例:

matplotlib的環形圖,你真瞭解嗎?

以前的文章提到過,可以在同一塊畫布上重複繪圖,在繪製堆積條形圖的時候用到的就是這個知識點,繪製多個環的環形圖也是相同的道理。

在同一塊畫布上繪製兩個環,一個大環一個小環,需要注意的是要先繪製大環,後繪製小環,因為後繪製的圖會覆蓋先繪製的圖,所以我們設定第一個環的半徑是1,後邊繪製的環半徑是0。6,來看下效果:

matplotlib的環形圖,你真瞭解嗎?

喏,就是這個效果了,這個圖還缺少一個標題,相信大家都知道如何新增圖形標題了。

當然這個環形圖中的兩個環挨在一起了,平時我們看到的環形圖每個環之間會有一點間隙,能夠很明顯地看出是兩個分離的環,其實這個也不難!仔細觀察上邊的程式碼,兩個環之間的半徑差是0。4,而我們對弧形寬度也設定的是0。4,所以兩個環之間一點縫隙都沒有,透過對這兩個引數的設定就可以控制兩個環之間的距離了。

matplotlib的環形圖,你真瞭解嗎?

兩個環形的半徑差沒有變,依然是0。4,我們把弧形寬度改成了0。3,來看下效果:

matplotlib的環形圖,你真瞭解嗎?

這樣是不是就變成大家心目中環形圖的樣子了(我又偷偷的加上標題了)?這是兩個學校的成績環形圖,如果想要多畫幾個環,記得把半徑差設定大一點,弧形寬度設定小一點,能夠容納多個環形就可以啦!

你學會了嗎?