前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Python matplotlib绘制饼图

Python matplotlib绘制饼图

作者头像
Python碎片公众号
发布于 2021-02-26 08:04:32
发布于 2021-02-26 08:04:32
2.7K00
代码可运行
举报
运行总次数:0
代码可运行

继前面使用matplotlib绘制折线图、散点图、柱状图和直方图,本篇文章继续介绍使用matplotlib绘制饼图。

一、matplotlib绘制饼图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# coding=utf-8
import matplotlib.pyplot as plt


election_data = {'Biden': 290, 'Trump': 214, 'Others': 538-290-214}
candidate = [key for key in election_data]
votes = [value for value in election_data.values()]
plt.figure(figsize=(10, 10), dpi=100)
plt.pie(votes, labels=candidate, autopct="%1.2f%%", colors=['c', 'm', 'y'],
        textprops={'fontsize': 24}, labeldistance=1.05)
plt.legend(fontsize=16)
plt.title("2020年A国大选票数占比", fontsize=24)
plt.show()

运行结果:

pie(): matplotlib中绘制饼图的函数。第一个参数传入用于绘制饼图的数据列表,其他参数都是关键字参数。labels参数用于设置每个扇形的标签,说明每个扇形的数据归属。autopct参数用于设置饼图中的百分比,一般保留两位小数,传入"%1.2f%%"即可。colors参数用于设置每个扇形的颜色,与数据列表一一对应,传入一个与数据列表长度相等的列表。textprops参数用于设置标签和百分比的字体、大小等,传入一个字典。labeldistance参数用于设置标签与饼图的距离,默认值为1.1。

饼图将一个圆饼按照各分类的占比划分成多个扇形,整个圆饼代表数据的总量,每个扇形表示该分类占总体的比例大小,所有扇形相加的和等于100%。饼图适用于表示不同分类在总体中的占比情况,通过弧度大小来比较不同分类的占比大小,尤其在需要突出显示其中某一个部分的占比时。

上面的饼图绘制了2020年A国大选的票数占比情况,可以一目了然地看到候选人的得票占比情况。如果需要突出显示某位候选人的得票占比,可以对饼图进行分离展示。

二、matplotlib旋转饼图和突出显示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt


election_data = {'Biden': 290, 'Trump': 214, 'Others': 538-290-214}
candidate = [key for key in election_data]
votes = [value for value in election_data.values()]
plt.figure(figsize=(10, 10), dpi=100)
explode = (0.1, 0, 0)
plt.pie(votes, labels=candidate, autopct="%1.2f%%", colors=['c', 'm', 'y'], textprops={'fontsize': 24},
        labeldistance=1.05, explode=explode, startangle=90, shadow=True)
plt.legend(loc='upper right', fontsize=16)
plt.title("2020年A国大选票数占比", fontsize=24)
plt.axis('equal')
plt.show()

运行结果:

在绘制饼图的pie()函数中,explode参数用于设置每个扇形到圆心的距离,传入一个与数据列表长度相等的列表,默认每个扇形到圆心的距离都是0,将想要分离展示的扇形距离设置成一个适合的值,如0.1,即可将该部分突出展示。为了展示效果更好,可以使用startangle参数对饼图进行旋转(如将分离的扇形旋转到左侧),给startangle参数传入一个角度,将饼图逆时针旋转对应的角度,startangle参数表示的是饼图的起始角度,默认为正右方向,即传统的x轴正方形,此方向表示0度,设置起始角度后可以实现旋转的效果。对扇形进行分离展示后,将shadow参数设置为True,给饼图添加阴影,使饼图更立体,饼图切分的效果会更好。

在对饼图进行分离后,饼图的布局会发生变化,为了控制饼图占用的区域是一个正方形,且避免饼图变成椭圆形,使用axis('equal')函数,传入'equal'参数。

在上一张饼图的基础上,经过设置后,将获胜者Biden的得票率突出显示,可以更突出地展示获胜者的得票占比。

三、matplotlib绘制环形饼图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt


election_data = {'Biden': 290, 'Trump': 214, 'Others': 538-290-214}
candidate = [key for key in election_data]
votes = [value for value in election_data.values()]
plt.figure(figsize=(10, 10), dpi=100)
explode = (0, 0, 0)
plt.pie(votes, labels=candidate, explode=explode, autopct="%1.2f%%", colors=['c', 'm', 'y'],
        textprops={'fontsize': 24}, labeldistance=1.05, pctdistance=0.85, startangle=90)
plt.pie([1], radius=0.7, colors='w')
plt.legend(loc='upper right', fontsize=16)
plt.title("2020年A国大选票数占比", fontsize=24)
plt.axis('equal')
plt.show()

运行结果:

要绘制环形的饼图,在绘制出饼图后,再次调用pie()函数绘制一个更小的纯白饼图即可,先后顺序不能相反。

在绘制纯白的饼图时,传入只有一个数据的列表,一条数据会占满整个饼图,占比100%,颜色设置为colors='w'。radius参数默认为1,如果第一张饼图的radius参数是1,设置白色饼图的radius参数小于1,得到的白色饼图就会小于第一张饼图。此外不需要设置其他参数,白色饼图不需要显示百分比,不需要显示标签等。

绘制完成小的白色饼图,环形效果就实现了,还需要调整第一张饼图的百分比的显示位置。在pie()函数中,pctdistance参数用于设置百分比显示离圆心的距离,默认值是0.6,设置环形效果时,可以将pctdistance参数增大,使百分比显示在环形的中间。同时,因为环形饼图是通过遮挡实现的,阴影展示不完全,看起来比较别扭,所以不设置shadow参数,去掉阴影。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python 碎片 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
matplotlib相关图形绘制(一)
  折线图用于显示随时间或有序类别而变化的趋势。折线图其实是由多个点连接在一起得到了,当点足够多的时候,折线图就变成了平滑的曲线。
朱小五
2020/03/05
1K0
matplotlib相关图形绘制(一)
小蛇学python(9)matplotlib的基本使用
matplotlib作为python中可视化最经典的库,是个不得不学习的东西。尽管长江后浪推前浪,涌现出了很多更好的可视化库,比如Plotly。不过,它们几乎全是建立在matplotlib的基础之上的。
用户2145057
2018/09/12
8560
小蛇学python(9)matplotlib的基本使用
Python matplotlib数据可视化 绘制柱形图、堆叠图、折线图、饼图和环图
Python中可以通过matplotlib模块的pyplot子库来完成绘图。Matplotlib可用于创建高质量的图表和图形,也可以用于绘制和可视化结果。matplotlib是Python优秀的数据可视化第三方库,matplotlib.pyplot是绘制种类可视化图形的命令子库,相当于快捷方式 import matplotlib.pyplot as plt.
叶庭云
2020/09/17
3.5K0
Python matplotlib数据可视化  绘制柱形图、堆叠图、折线图、饼图和环图
数据分析 ——— matplotlib基础(二)
在上面的三个面板中分别画出了sin,cos图,前面两个参数分别为x轴, y轴数据。ax2的第三个参数“go--”是matlab风格的绘图,ax3上给出了点的标记maker,这一块是可以自己定义的,可以参考我上一篇文章数据分析 ——数据可视化matplotlib(一)。
andrew_a
2019/09/26
8220
数据分析 ——— matplotlib基础(二)
数据可视化之matplotlib绘制饼状图
常常为Python的数据可视化而痴迷,将数据进行可视化只需要掌握相关库的方法使用即可。流水线式的库式调用实现正是显示python强大的库的功能。我们可以绘制各种各样的数据图样式,对于数据的反应更加直观而准确。
兰舟千帆
2022/07/16
1.4K0
数据可视化之matplotlib绘制饼状图
【plt.pie绘制饼图】:从入门到精通,只需一篇文章!
想让数据“说话”?想用最直观的方式展示比例关系?那 Matplotlib 的 plt.pie 函数 一定是你的首选!无论你是数据小白还是可视化达人,本文都将带你逐步掌握 plt.pie 的强大功能,轻松绘制令人惊艳的饼图
默 语
2025/01/12
1680
【plt.pie绘制饼图】:从入门到精通,只需一篇文章!
AI数据分析:用deepseek根据Excel数据绘制分裂饼形图
你是一个Python编程专家,要完成一个Python脚本编写的任务,具体步骤如下:
AIGC部落
2024/06/24
6300
AI数据分析:用deepseek根据Excel数据绘制分裂饼形图
Python可视化学习(饼状图,坐标系...)
今天资源君带大家学习一下Python的可视化,何谓可视化呢?我们常常听说Python的数据分析,数据分析中很重要的一个就是将数据展示出来,如何展示出来呢?这就得靠我们的Python可视化了,我们可以对我们的数据进行分析后,展示到柱形图,扇形图等图像上,方便被人一眼就能看到数据的走向和数据的详细情况,废话不多说,我们直接来学习!
Python进击者
2019/09/17
1.3K0
Python可视化学习(饼状图,坐标系...)
Python+matplotlib绘制多门课程学生成绩分布饼状图
饼状图比较适合展示一个总体中各个类别所占的比例,例如商场年度营业额中各类商品、不同员工的占比,家庭年度开销中不同类别的占比等。
Python小屋屋主
2019/06/14
2.7K0
Python+matplotlib绘制多门课程学生成绩分布饼状图
Python绘制饼状图
饼状图(pie chart)一般用于描述分类型数据的相对频数或百分数频数分布,呈现部分与总体的关系。
阿黎逸阳
2021/02/08
3.2K0
Python带你看不一样的《青春有你2》小姐姐之身高体重城市可视化分析
本篇我们基于上一篇文章爬取下来的数据进行分析,我们绘制学员城市柱状图,体重分布饼状图,身高分布饼状图。
极简小课
2022/06/27
1.4K0
Python带你看不一样的《青春有你2》小姐姐之身高体重城市可视化分析
局部整体(三)利用python绘制饼图
饼图是一个将整体划分为几个扇形的圆形统计图表,用于描述数量、频率或百分比之间的相对关系。饼形图适合用来快速展示数据比例分布,但不利于展示较多项目。饼图也因过于关注不同部分彼此或相对于整体的大小关系,导致与其他饼形图作整体比较时不能显示出任何变化而饱受诟病。
HsuHeinrich
2024/11/23
1940
局部整体(三)利用python绘制饼图
数据分析之matplotlib.pypl
  通过设置plt.axis('off')可以把坐标轴刻度给关闭,我们就只会看到图,而看不到刻度
py3study
2020/01/17
8050
数据分析系列:绘制饼状图(matplotlib)
用饼图来统计ABCD四种牌子的手机占有市场情况。 import matplotlib.pyplot as plt plt.figure(figsize=(6,9)) #调节图形大小 labels = ['A','B','C','D'] #定义标签 sizes = [146,223,121,68] #每块值 colors = ['
K同学啊
2019/03/15
1.7K0
数据分析系列:绘制饼状图(matplotlib)
手摸手教你数据可视化!(附实例讲解)
本文对课程数据集及泰坦尼克号数据集进行了实例讲解,一步一步带你绘制数据可视化中常用的五种图形,并对数据间可能存在的相关性做出了阐述。
Datawhale
2020/09/03
8400
手摸手教你数据可视化!(附实例讲解)
Matplotlib数据可视化:饼图与箱线图
pie()方法返回一个tuple,第一个元素为每个扇形对象组成的list,第二个元素为每个扇形的标签Text对象,第三个元素为每个扇形的数值标签对象,通过这三个对象,可以实现对单一扇形的设置。
统计学家
2020/06/04
6910
软件测试|教你用Matplotlib绘制多种饼图
之前我们介绍了使用matplotlib绘制柱状图等图像,这篇文章我们将介绍使用matplotlib绘制饼状图,并且我们将介绍使用matplotlib绘制不同类型的饼图,下面我们直接开始绘制。
霍格沃兹测试开发Muller老师
2023/03/05
6260
Python如何使用Matplotlib模块的pie()函数绘制饼形图?
虫无涯
2023/11/16
4570
数据可视化:认识Matplotlib
数据经过NumPy和Pandas的计算,最终得到了我们想要的数据结论,但是这些数据结论并不直观,所以想要把数据分析的结论做到可视化,让任何其他人看起来毫无压力,那么Matplotlib将派上用场。
马拉松程序员
2023/09/02
2510
数据可视化:认识Matplotlib
【说站】python用plt.pie绘制饼图
以上就是python用plt.pie绘制饼图的方法,希望对大家有所帮助。更多Python学习指路:python基础教程
很酷的站长
2022/11/24
5090
推荐阅读
相关推荐
matplotlib相关图形绘制(一)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文