使用Matplotlib提供的pie()函數繪制餅圖
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm #字體管理器
#准備字體
my_font = fm.FontProperties(fname="/usr/share/fonts/wqy-microhei/wqy-microhei.ttc")
#准備數據
data = [0.16881,0.14966,0.07471,0.06992,0.04762,0.03541,0.02925,0.02411,0.02316,0.01409,0.36326]
#准備標簽
labels = ['Java','C','C++','Python','Visual Basic.NET','C#','PHP','JavaScript','SQL','Assembly langugage','其他']
#將排列在第4位的語言(Python)分離出來
explode =[0,0,0,0.3,0,0,0,0,0,0,0]
#使用自定義顏色
colors = ['red','pink','magenta','purple','orange']
#將橫、縱坐標軸標准化處理,保證餅圖是一個正圓,否則為橢圓
plt.axes(aspect='equal')
#控制X軸和Y軸的范圍(用於控制餅圖的圓心、半徑)
plt.xlim(0,8)
plt.ylim(0,8)
#不顯示邊框
plt.gca().spines['right'].set_color('none')
plt.gca().spines['top'].set_color('none')
plt.gca().spines['left'].set_color('none')
plt.gca().spines['bottom'].set_color('none')
#繪制餅圖
plt.pie(x=data, #繪制數據
labels=labels,#添加編程語言標簽
explode=explode,#突出顯示Python
colors=colors, #設置自定義填充色
autopct='%.3f%%',#設置百分比的格式,保留3位小數
pctdistance=0.8, #設置百分比標簽和圓心的距離
labeldistance=1.0,#設置標簽和圓心的距離
startangle=180,#設置餅圖的初始角度
center=(4,4),#設置餅圖的圓心(相當於X軸和Y軸的范圍)
radius=3.8,#設置餅圖的半徑(相當於X軸和Y軸的范圍)
counterclock= False,#是否為逆時針方向,False表示順時針方向
wedgeprops= {'linewidth':1,'edgecolor':'green'},#設置餅圖內外邊界的屬性值
textprops= {'fontsize':12,'color':'black','fontproperties':my_font},#設置文本標簽的屬性值
frame=1) #是否顯示餅圖的圓圈,1為顯示
#不顯示X軸、Y軸的刻度值
plt.xticks(())
plt.yticks(())
#添加圖形標題
plt.title('2018年8月的編程語言指數排行榜',fontproperties=my_font)
#顯示圖形
plt.show()