这是我参与11月更文挑战的第16天,活动详情查看:2021最后一次更文挑战
前言
众所周知,matplotlib.pyplot 提供绘制不同表格绘制方法,如使用plot()方法绘制折线,bar()绘制柱状图,hist()绘制直方图等等,关于它们使用详情可以查看如下链接。
- matplotlib 绘制折线图:对折线图相关属性进行汇总说明
- matplotlib 绘制柱状图:对柱状图相关属性进行汇总说明
- matplotlib 绘制直方图:对直方图相关属性进行汇总说明
- matplotlib 绘制散点图:对散点图相关属性进行汇总说明
- matplotlib 绘制等高线图:对等高线图相关属性进行汇总说明
在matplotlib.pyplot 中还有一种图表用于直观表示占比情况的饼图,在matplotlib官网上也列举出非常多关于饼图的案例。
本期,我们将详细学习matplotlib 绘制饼图相关属性的学习,let’s go~
- 什么是饼图?
+ 饼图将各项的大小与总项和的比例显示在一个圆里
+ 饼图展示通过不同大小,来确定各项的占比
+ 饼图相同颜色的数据标记组成一个数据系列
+ 饼图可分为三维饼图、复合饼图、分离饼图
- 饼图常用场景
+ 饼图可用在需要暂时各个部分构成比
+ 饼图可反映一个维度各项指标占总体的占比情况
+ 饼图适用在只看大体占比,不要数据精度的情况
- 绘制等饼图步骤
1. 导入matplotlib.pyplot模块
2. 准备数据,可以使用numpy/pandas整理数据
3. 调用pyplot.pie()绘制饼图
4. 调用axis方法调整x/y轴间距相等
- 案例展示
本期,我们将适用饼图来分析操作系统市场占比情况
+ 案例数据准备:使用random.randint产生5个数值
1
2
python复制代码import numpy as np
size = np.random.randint(0,100,5)
+ 绘制饼图
1
2
3
4
5
6
7
python复制代码import matplotlib.pyplot as plt\
plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"])
plt.title("手机系统占比分析")
plt.show()

- 设置饼图的颜色
+ 关键字:colors
+ 可取值选项:None或者颜色列表
+ 颜色列表可以由如下组成:
- 表示颜色的英文单词:如红色"red"
- 表示颜色单词的简称如:红色"r",黄色"y"
- RGB格式:十六进制格式如"#88c999";(r,g,b)元组形式
- 设置标签
+ 关键字:labels
+ 默认为:None
+ 需要传入列表形式的值
- 设置突出部分
+ 关键字:explode
+ 默认为:None
+ 需要传入列表数据
+ 如果设置值后,其指定的部分会突出显示
- 设置填入百分比数值
+ 关键字:autopct
+ 默认为:None
+ 可选择值形式:
- 格式字符串如:'%1.1f%%'
- 函数:可以调用函数内容
- 饼图旋转
+ 从x轴逆时针旋转角度:startangle;默认为0,浮点类型
+ 指定分数方向顺逆时针:counterclock;默认为True,bool类型
- 设置阴影
+ 关键字:shadow
+ 默认为False
+ 在饼图下绘制出阴影
- 我们结合第一节的案例添加一些属性,需要显示占比数值,颜色显示指定颜色,突出MAC占比
1 | python复制代码plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"], |
我们在实际制作饼图时,会遇到改变饼图的大小,这是我们可以借助饼图属性关键字radius
- radius:设置饼图半径大小
除此之外,我们还要使用textprops来控制显示的标签的大小
1 | python复制代码plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"],autopct="%1.1f%%", |
我们在饼图中显示各项占比情况时,会在图表的旁边添加一组图例说明。
- pyplot.pie()方法会返回patchee.Wedge列表、文本列表等数据
- pyplot.legend()方法传入wedge元素和指定的labels标签
- 同时可以同legend()方法bbox_to_anchor来设置图例的位置
1 | python复制代码La = ["Windows","MAC","Linux","Android","Other"] |
在饼图中,我们有时候也用到嵌套镂空的饼图。
- 嵌套可以多次调用pyplot.pie()方法
- 镂空可以借助pyplot.pie()属性wedgeprops来进行设置
- wedgeprops={“width”:0.3,”edgecolor”:’w’}
1 | python复制代码cmap = plt.get_cmap("tab20c") |
总结
本期,对matplotlib.pyplot 绘制饼图pie()相关属性的学习。在绘制饼图时,我们会根据实际需求改变饼图的大小,嵌套饼图、添加柱状图等图形辅助查看
以上是本期内容,欢迎大佬们点赞评论,下期见~
本文转载自: 掘金