嵌套饼图_你真的了解matplotlib吗?---环形图
環形圖簡介
環形圖是餅圖衍生出來的統計圖形,可以看作是兩個以上餅圖的疊合。環形圖與餅圖類似,其實是有差別的。餅圖是用圓形及圓內扇形的面積來表示數值大小的圖形,主要用于表示總體中各組成部分所占的比例。與之對比,環形圖中間留有空白,可以用多個環展示多個樣本,既可以表示每個樣本中各部分的占比,又可以對多個樣本的結構同時進行對比。
文字表達永遠沒有圖片來的直觀,從網上隨便搜了一個環形圖先簡單感受下:
繪制簡單環形圖
上邊的環形圖只有一個環,實際上可以根據需要繪制多個環嵌套在一起的環形圖,并且也可以加上每一段弧形所占的比例,我們先從簡單的開始,繪制一個簡單的環形圖。
先看下數據源長什么樣子,依然是繪制餅圖時用到的數據:
所謂環形圖,其實用到的依然是繪制餅圖的函數,只是對其中的參數進行設置后形成環形圖,我們先來繪制一個簡單的第一小學成績環形圖:
plt.figure(figsize=(8,8)) #新建畫布,畫布大小為8*8 ? plt.pie(data2.iloc[0,1:] #截取第一小學的成績,radius=1 # 設置半徑為1,labels=['語文','數學','英語'] #設置各個角的標簽,autopct='%.2f%%' #設置精度為小數點后兩位,textprops={'fontsize': 14, 'color': 'k'} #設置標簽字體和顏色,wedgeprops=dict(width=0.4, edgecolor='w')); #設置餅弧寬度和邊框顏色 ?和之前繪制餅圖不同的是多設置了三個參數,一個是設置半徑,一個是設置字體和顏色(介紹餅圖的文章中餅圖中字體有點小,顏色是默認的黑色,其實字體大小和顏色都是可以設置的),最后一個是設置弧度寬度和邊框顏色,所謂弧度的寬度其實就是環形的寬度。
來看下效果:
像這種簡單的環形圖,作用和餅圖差不多,只能反映一個小學的成績情況,如果想要查看兩個學校對比的情況需要繪制兩個圖,當然環形圖可以解決這個問題,下邊我們來看下升級版的環形圖!
繪制升級版環形圖
以繪制兩個環形為例:
plt.figure(figsize=(8,8)) #新建畫布,畫布大小為8*8 ? plt.pie(data2.iloc[0,1:] #截取第一小學的成績,radius=1 # 設置半徑為1,labels=['語文','數學','英語'] #設置各個角的標簽,autopct='%.2f%%' #設置精度為小數點后兩位,textprops={'fontsize': 14, 'color': 'k'} #設置標簽字體和顏色,wedgeprops=dict(width=0.4, edgecolor='w')) #設置餅弧寬度和邊框顏色 ? plt.pie(data2.iloc[1,1:] #截取第二小學的成績,radius=0.6 # 設置半徑為0.6,autopct='%.2f%%'#設置精度為小數點后兩位,textprops={'fontsize': 12, 'color': 'w'}#設置標簽字體和顏色,wedgeprops=dict(width=0.4, edgecolor='w'));#設置餅弧寬度和邊框顏色以前的文章提到過,可以在同一塊畫布上重復繪圖,在繪制堆積條形圖的時候用到的就是這個知識點,繪制多個環的環形圖也是相同的道理。
在同一塊畫布上繪制兩個環,一個大環一個小環,需要注意的是要先繪制大環,后繪制小環,因為后繪制的圖會覆蓋先繪制的圖,所以我們設置第一個環的半徑是1,后邊繪制的環半徑是0.6,來看下效果:
喏,就是這個效果了,這個圖還缺少一個標題,相信大家都知道如何添加圖形標題了。
當然這個環形圖中的兩個環挨在一起了,平時我們看到的環形圖每個環之間會有一點間隙,能夠很明顯的看出是兩個分離的環,其實這個也不難!仔細觀察上邊的代碼,兩個環之間的半徑差是0.4,而我們對弧形寬度也設置的是0.4,所以兩個環之間一點縫隙都沒有,通過對這兩個參數的設置就可以控制兩個環之間的距離了。
plt.figure(figsize=(8,8)) ? plt.pie(data2.iloc[0,1:],radius=1,labels=['語文','數學','英語'],autopct='%.2f%%',textprops={'fontsize': 14, 'color': 'k'},wedgeprops=dict(width=0.3, edgecolor='w')) ? plt.pie(data2.iloc[1,1:] ,radius=0.6 ,autopct='%.2f%%',textprops={'fontsize': 14, 'color': 'k'},wedgeprops=dict(width=0.3, edgecolor='w')) ? plt.title("第一小學(外環)和第二小學(內環)成績圖");兩個環形的半徑差沒有變,依然是0.4,我們把弧形寬度改成了0.3,來看下效果:
這樣是不是就變成大家心目中環形圖的樣子了(我又偷偷的加上標題了)?這是兩個學校的成績環形圖,如果想要多畫幾個環,記得把半徑差設置大一點,弧形寬度設置小一點,能夠容納多個環形就可以啦!
你學會了嗎?
總結
以上是生活随笔為你收集整理的嵌套饼图_你真的了解matplotlib吗?---环形图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python骨灰技巧_Pandas技巧,
- 下一篇: linux编译框架的搭建,Linux精华