使用python實現(xiàn)論文里面的餅狀圖:
原圖:
python代碼實現(xiàn):
# # 餅狀圖 # plot.figure(figsize=(8,8)) labels = [u'Canteen', u'Supermarket', u'Dorm', u'Others'] sizes = [73, 21, 4, 2] colors = ['red', 'yellow', 'blue', 'green'] explode = (0.05, 0, 0, 0) patches, l_text, p_text = plot.pie(sizes, explode=explode, labels=labels, colors=colors, labeldistance=1.1, autopct='%2.0f%%', shadow=False, startangle=90, pctdistance=0.6) # labeldistance,文本的位置離遠(yuǎn)點有多遠(yuǎn),1.1指1.1倍半徑的位置 # autopct,圓里面的文本格式,%3.1f%%表示小數(shù)有三位,整數(shù)有一位的浮點數(shù) # shadow,餅是否有陰影 # startangle,起始角度,0,表示從0開始逆時針轉(zhuǎn),為第一塊。一般選擇從90度開始比較好看 # pctdistance,百分比的text離圓心的距離 # patches, l_texts, p_texts,為了得到餅圖的返回值,p_texts餅圖內(nèi)部文本的,l_texts餅圖外label的文本 # 改變文本的大小 # 方法是把每一個text遍歷。調(diào)用set_size方法設(shè)置它的屬性 for t in l_text: t.set_size = 30 for t in p_text: t.set_size = 20 # 設(shè)置x,y軸刻度一致,這樣餅圖才能是圓的 plot.axis('equal') plot.legend(loc='upper left', bbox_to_anchor=(-0.1, 1)) # loc: 表示legend的位置,包括'upper right','upper left','lower right','lower left'等 # bbox_to_anchor: 表示legend距離圖形之間的距離,當(dāng)出現(xiàn)圖形與legend重疊時,可使用bbox_to_anchor進(jìn)行調(diào)整legend的位置 # 由兩個參數(shù)決定,第一個參數(shù)為legend距離左邊的距離,第二個參數(shù)為距離下面的距離 plot.grid() plot.show()
實現(xiàn):
以上這篇Python數(shù)據(jù)可視化:餅狀圖的實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)之家。
新聞熱點
疑難解答