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 @   #独狼  阅读(37652)  评论(2编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示