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() 
相关推荐
西柚小萌新1 小时前
【Python爬虫基础篇】--4.Selenium入门详细教程
爬虫·python·selenium
橘猫云计算机设计1 小时前
springboot基于hadoop的酷狗音乐爬虫大数据分析可视化系统(源码+lw+部署文档+讲解),源码可白嫖!
数据库·hadoop·spring boot·爬虫·python·数据分析·毕业设计
YOULANSHENGMENG1 小时前
linux 下python 调用c++的动态库的方法
c++·python
SsummerC2 小时前
【leetcode100】零钱兑换Ⅱ
数据结构·python·算法·leetcode·动态规划
一眼青苔2 小时前
切割PDF使用python,库PyPDF2
服务器·python·pdf
电商数据girl2 小时前
产品经理对于电商接口的梳理||电商接口文档梳理与接入
大数据·数据库·python·自动化·产品经理
三道杠卷胡3 小时前
【AI News | 20250424】每日AI进展
人工智能·pytorch·python·语言模型·github
T糖锅G3 小时前
小白自学python第二天
python
满怀10154 小时前
【OpenCV图像处理实战】从基础操作到工业级应用
图像处理·人工智能·python·opencv·计算机视觉·编程入门
AI视觉网奇4 小时前
四元数转旋转矩阵
人工智能·pytorch·python