Python 利用pandas和matplotlib绘制饼图

这段代码使用了Pandas和Matplotlib库来绘制店铺销售数量占比的饼图。通过读取Excel文件中的数据,对店铺名称进行聚合并按销售数量降序排列,然后使用Matplotlib绘制饼图展示销售数量占比情况。

导入必要的库

复制代码
import pandas as pd
import matplotlib.pyplot as plt

在这个步骤中,我们导入了两个必要的库:pandas用于数据处理,matplotlib.pyplot用于绘图。

设置中文字体

复制代码
plt.rcParams['font.family'] = ['SimHei']

这段代码指定中文字体为黑体,以支持中文字符集。

读取数据

复制代码
data = pd.read_excel('C:\\Users\Admin\\Desktop\\数据核对\\新建 XLSX 工作表.xlsx')

这段代码从指定路径的Excel文件中读取数据,并将数据存储在data变量中。

聚合数据

复制代码
aggregated_data = data.groupby('店铺名称')['销售数量'].sum()

这段代码根据店铺名称对销售数量进行聚合,并将结果存储在aggregated_data变量中。

排序数据

复制代码
aggregated_data = aggregated_data.sort_values(ascending=False)

这段代码对聚合后的数据按销售数量进行降序排序。

绘制饼图

复制代码
plt.pie(aggregated_data, labels=aggregated_data.index, autopct='%.2f%%', startangle=90,
        wedgeprops={'linewidth': 1, 'edgecolor': 'white'}, pctdistance=0.85)

这段代码使用plt.pie函数绘制饼图。传入的参数包括聚合后的销售数量数据和店铺名称,以及一些设置如起始角度、扇形边框样式和百分比标签等。

设置图表标题和图例

复制代码
plt.title('店铺销售数量占比')
plt.legend(loc='best')

这段代码使用plt.title函数设置图表标题,并使用plt.legend函数添加图例。

隐藏饼图中间的白色圆圈

复制代码
plt.gca().set_aspect('equal')
plt.tight_layout()

这段代码使用plt.gca().set_aspect('equal')将饼图设置为正圆形,并使用plt.tight_layout自动调整图表布局。

显示图表

复制代码
plt.show()

这段代码显示绘制好的图表。

完整代码如下:

复制代码
import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams['font.family'] = ['SimHei']  # 指定中文字体为黑体

# 从Excel文件中读取数据
data = pd.read_excel('C:\\Users\Admin\\Desktop\\数据核对\\新建 XLSX 工作表.xlsx')

# 根据店铺名称聚合销售数量
aggregated_data = data.groupby('店铺名称')['销售数量'].sum()

# 按销售数量降序排列
aggregated_data = aggregated_data.sort_values(ascending=False)

# 绘制饼图
plt.pie(aggregated_data, labels=aggregated_data.index, autopct='%.2f%%', startangle=90,
        wedgeprops={'linewidth': 1, 'edgecolor': 'white'},pctdistance=0.85)  # 设置起始角度和扇形边框样式

# 设置图表标题和图例
plt.title('店铺销售数量占比')
plt.legend(loc='best')

# 隐藏饼图中间的白色圆圈
plt.gca().set_aspect('equal')  # 使饼图为正圆形
plt.tight_layout()  # 自动调整图表布局

# 显示图表
plt.show() 
相关推荐
TT_44197 分钟前
python程序实现图片截图溯源功能
开发语言·python
小陈的进阶之路1 小时前
logging 日志模块笔记
python
cqbelt1 小时前
Python 并发编程实战学习笔记
笔记·python·学习
智算菩萨1 小时前
【论文复现】Applied Intelligence 2025:Auto-PU正例无标签学习的自动化实现与GPT-5.4辅助编程实战
论文阅读·python·gpt·学习·自动化·复现
小陈工2 小时前
2026年3月31日技术资讯洞察:AI智能体安全、异步编程突破与Python运行时演进
开发语言·jvm·数据库·人工智能·python·安全·oracle
老李的勺子3 小时前
Agent 记忆失效的 5 种方式:完整排查复盘
python·llm
Leo655353 小时前
动态透视报表 + 查询接口 + Excel导出
开发语言·windows·python
清水白石0083 小时前
pytest Fixture 设计实战指南:作用域、依赖链、自动清理与测试资源高效复用
python·pytest
tottoramen3 小时前
如何安装龙虾
python
QC·Rex4 小时前
AI Agent 任务规划实战:从 ReAct 到 Plan-and-Solve 的完整指南
人工智能·python·react