这段代码使用了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()