Python数据可视化之Matplotlib(饼图)

使用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('20188月的编程语言指数排行榜',fontproperties=my_font)

#显示图形

plt.show()

 

 

 

posted @ 2019-05-15 17:43  #独狼  阅读(37639)  评论(2编辑  收藏  举报