python中如何用matplotlib写饼图

#代码

python 复制代码
import matplotlib.pyplot as plt

# 设置绘图的主题风格
plt.style.use('ggplot')
# 中文乱码和坐标轴负号的处理
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['figure.figsize']=[10,8]
# 构造数据
x = [0.2515,0.3724,0.3336,0.0368,0.0157]

# 提示标签
labels = ['中专','大专','本科','硕士','其他']

# 用于突出显示大专学历人群
explode = [0,0.1,0,0,0]

# 自定义颜色
colors=['#9F79EE','#4876FF','#EE9A00','#EE4000','#FFD700']

# 将横、纵坐标轴标准化处理,保证饼图是一个正圆,否则为椭圆
plt.axes(aspect='equal')

# 控制x轴和y轴的范围
plt.xlim(0,4)
plt.ylim(0,4)

# 绘图数据
plt.pie(x, # 绘图数据
        explode=explode, # 突出显示大专人群
        autopct='%1.1f%%', # 设置百分比的格式,这里保留一位小数
        pctdistance=0.6, # 设置百分比标签与圆心的距离
        labeldistance=1.2, # 设置教育水平标签与圆心的距离
        startangle = 180, # 设置饼图的初始角度
        radius = 1.5, # 设置饼图的半径
        counterclock = False,
        wedgeprops = {'linewidth': 1.5, 'edgecolor':'green'}, # 设置饼图内外边界的属性值
        textprops = {'fontsize':12, 'color':'k'}, # 设置文本标签的属性值
        center = (2,2), # 设置饼图的原点
        frame = 1, # 是否显示饼图的图框,这里设置显示
        labels=labels, # 添加教育水平标签
        colors=colors # 设置饼图的自定义填充色
       )

# 删除x轴和y轴的刻度
plt.xticks(())
plt.yticks(())

# 添加图标题
plt.title('芝麻信用失信用户教育水平分布')

plt.show()

#运行结果

相关推荐
星夜离尘566 小时前
MATLAB 工程实验:不等间隔流量积分,先把缺口与覆盖率说清楚
开发语言·matlab·时间戳·数据质量·数值积分
happylifetree6 小时前
Python70:核心语法-函数进阶-案例2
python
Ai-_Man6 小时前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
梓豪csd6 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
王中阳Go6 小时前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
BK贝壳6 小时前
bool-hybrid-array 落盘我只认 .bha:用 Create_BHA / Ask_BHA 做布尔数组序列化
数据结构·python·numpy·1024程序员节
学逆向的7 小时前
C 枚举变量
c语言·开发语言·网络安全
Sakura_j_h_7 小时前
Python 在定时任务里输出 emoji,UnicodeEncodeError 从哪来
开发语言·字符编码·windows·python·定时任务
supabc1238 小时前
欧盟电子发票(XRechnung/Peppol/ZUGFeRD)踩坑记:用 Python 不装 Java 跑官方校验规则
xml·python·开源·电子发票·1024程序员节
ZhengEnCi8 小时前
AI Agent工具调用防护层怎么写-一份能直接跑的Python四层拦截实现
python·llm·agent