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()
Python 利用pandas和matplotlib绘制饼图的更多相关文章
- 用Python的Pandas和Matplotlib绘制股票KDJ指标线
我最近出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中给出了MACD,KDJ ...
- 用Python的Pandas和Matplotlib绘制股票唐奇安通道,布林带通道和鳄鱼组线
我最近出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中给出了MACD,KDJ ...
- Python利用pandas处理Excel数据的应用
Python利用pandas处理Excel数据的应用 最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...
- 利用Pandas和matplotlib分析我爱我家房租区间频率
前几天利用python爬取了我爱我家的租房的一些数据,就想着能不能对房租进行一波分析,于是通过书籍和博客等查阅了相关资料,进行了房租的区间分析.不得不说,用python做区间分析比我之前用sql关键字 ...
- Python利用pandas处理数据后画图
pandas要处理的数据是一个数据表格.代码: 1 import pandas as pd 2 import numpy as np 3 import matplotlib.pyplot as plt ...
- python基础入门:matplotlib绘制多Y轴画图(附源码)
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:屁屁酱 PS:如有需要Python学习资料的小伙伴可以加点击下方链接 ...
- python 利用pandas导入数据
- 利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图、折线图、饼图
利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图.折线图.饼图 数据: 折线图代码: import pandas as pdimport matplotlib. ...
- 2.10:数据加工与展示-pandas清洗、Matplotlib绘制
〇.目标 1. 使用pandas完成基本的数据清洗加工处理: 2. 使用Matplotlib进行简单的数据图形化展示. 一.用pandas清洗处理数据 1.判断是否存在空值 数据缺失在很多数据中存在, ...
- Python绘制饼图
Python绘制饼图 1.1 对应代码如下图所示 import matplotlib.pyplot as pltfrom pylab import mplmpl.rcParams['font.sans ...
随机推荐
- 搭建Vue脚手架(vue-cli)
windows下环境安装前置环境 node.js安装 https://nodejs.org/en/download/ 安装成功后打开cmd 输入如下,如果能看到node和npm的版本号了,说明已经安装 ...
- 关于 yield 关键字(C#)
〇.前言 yield 关键字的用途是把指令推迟到程序实际需要的时候再执行,这个特性允许我们更细致地控制集合每个元素产生的时机. 对于一些大型集合,加载起来比较耗时,此时最好是先返回一个来让系统持续展示 ...
- 检测文件的格式——chardet模块
f3 = open(file=path,mode='rb') data = f3.read() # print(data) f3.close() result = chardet.detect(dat ...
- 2023羊城杯RE部分
vm_wo 代码copy下来调了一下 vm_body[0]=input[i] vm_body[1]=vm_body[0]>>1 v12=vm_body[0] vm_body[2]=v12& ...
- 4.go语言复合类型简述
目录 1. 本章前瞻 2.来自leetcode的例题 描述 分析 题解 3. 复合类型新版本的变化 3.1 string和[]byte的高效转化 3.2 内置函数clear 4. 复合类型概述 4.1 ...
- 初识Storm之HelloWorld程序源码
1. 新建一个Maven项目,pom.xml代码如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ...
- ps aux 命令使用
转载请注明出处: ps aux命令是一个常用的Linux/Unix系统命令,它用于查看正在运行的进程信息.下面是该命令使用的参数介绍.命令响应结果参数介绍以及一些使用实例的总结: 命令使用参数介绍 ...
- KRpano项目微信出现"关于潜在的违法或违规内容"
最近,部分小伙伴反应某些KRPano项目在微信中,出现"关于潜在的未发或违规内容"而无法播放的问题,会看到下图中的提示: 出现原因 这个问题是由于KRPano项目中的webvr.j ...
- mysql触发器使用教程-六种触发器
参考:https://zhuanlan.zhihu.com/p/439273702 触发器(Trigger)是 MySQL 中非常实用的一个功能,它可以在操作者对表进行「增删改」 之前(或之后)被触发 ...
- MySQL中的Statistics等待
[作者] 吴宙旭,携程数据库专家 [问题描述] 线上我们偶尔会碰到MySQL的状态是statistics. 但如果出现大量的statistics等待,会引起MySQL性能急剧下降.官方的文档对这个状态 ...