Python基于Excel数据绘制饼图出现显示不完整问题求助
问题原因&修正方案
现有代码存在以下几处会导致饼图显示异常的问题:
- 第三方库拼写错误:导入matplotlib时拼写为
matlotplib,缺少字母p,会直接引发导入报错,导致绘图流程异常 - 文件路径转义异常:Windows系统下文件路径中的反斜杠会被识别为转义字符,大概率出现文件读取失败、读取数据不全的问题
- 缺少等比例坐标轴配置:matplotlib默认坐标轴非1:1等比例,绘制饼图时会出现图形拉伸变形、边缘内容被裁剪的问题
- 边距未适配:饼图的标签、百分比标注容易被默认画布边距裁剪,导致显示不全
- 颜色列表长度固定:如果部门分类数量超过2个,手动指定的2种颜色会引发显示异常
- 分组统计逻辑可能不准:如果Gender列存在空值,
count()方法会自动过滤空值,导致统计的部门人数少于实际值,进而饼图比例异常
修正后代码
import matplotlib.pyplot as plt import pandas as pd import numpy as np # 路径前加r标记为原始字符串,避免转义问题 Employee = pd.read_excel(r"C:\Users\Jon\Desktop\data science\Employee.xlsx") # 用size()统计每个部门总人数,不受单列空值影响 group_by_departments = Employee.groupby("Department").size().reset_index(name='count') sizes = group_by_departments['count'] labels = group_by_departments['Department'] plt.pie(sizes, labels=labels, autopct='%.2f %%') # 设置等比例坐标轴,保证饼图为正圆形 plt.axis('equal') # 自动调整边距,避免标签被裁剪 plt.tight_layout() plt.show()
参考截图
饼图展示效果:
数据源展示:
内容的提问来源于stack exchange,提问作者Jon
相关产品推荐
相关产品推荐

