赵走x博客
网站访问量:151447
首页
书籍
软件
工具
古诗词
搜索
登录
34、延伸阅读:箱体;箱须、 离群值的含义和计算方法
33、箱线图
32、饼图
30、堆积析线图、 间断条形图和阶梯图
29、参数探索:设置柱体的填充样式
28、绘制统计图形:分块图
27、绘制统计图形:堆积图
26、绘制统计图形:条形图
25、绘制统计图形:柱状图
24、函数errorbar():用于绘制误差棒图
23、函数boxplot():用于绘制箱线图
22、函数stem():用于绘制棉棒图
21、函数 scatter():用于绘制气泡图
20、函数polar():用于绘制极线图
19、函数pie():用于绘制饼图
18、函数hist():用于绘制直方图
17、函数barh():用于绘制条形图
16、函数bar():用于绘制柱状图
15、使用统计函数绘制简单图形
14、函数组合应用
13、函数legend()一一标示不同图形的文本标签图例
12、函数title():添加图形内容的标题
11、函数text()一一添加图形内容细节的无指向型注释文本
10、函数annotate()一一添加图形内容细节的指向型注释文本
9、 函数axvspan()一一绘制垂直于 x 轴的参考区域
8、函数axhline()一一绘制平行于 x 轴的水平参考线
7、函数 grid():绘制刻度线
6、函数xlabel():设置 x 轴的标签文本
5、函数xlim():设置 x 轴的数值显示范围
4、函数scatter():寻找变量之间的关系
3、函数plot():展现变量的趋势变化
2、使用函数绘制matplotlib的图表组成元素
1、图表欣赏
32、饼图
资源编号:76046
人工智能
Python数据可视化之matplotlib实践
热度:109
饼图是用来展示定性数据比例分布特征的统计图形。 通过绘制饼图, 我们可以清楚地观察出数据的占比情况。本节主要讲解饼图的应用场景和绘制原理。
饼图是用来展示定性数据比例分布特征的统计图形。 通过绘制饼图, 我们可以清楚地观察出数据的占比情况。本节主要讲解饼图的应用场景和绘制原理。 # 1、应用场景:定性数据的比例展示 饼图主要应用在定性数据的可视化场景中, 或者是用来进行离散型数据的比例展示。 如果需要展示参加硕士研究生考试的性别比例 某市一年中四季使用天然气用量的比重以及家庭生活开支用、途的比例分布, 这些场景都是使用饼图进行数据可视化的不二之选, 通过绘制饼图, 就可以直观地反映研究对象定性数据的比例分布情况。 # 2、绘制原理 我们以Python代码的形式来讲述饼图的绘制原理, 我们重点讲解pie()函数的使用细节。 ### 代码实现 ``` import matplotlib as mpl import matplotlib.pyplot as plt mpl.rcParams['font.sans-serif']=['SimHei'] mpl.rcParams['axes.unicode_minus']=False labels='A难度水平','B难度水平','C难度水平','D难度水平' students=[0.35,0.15,0.20,0.30] colors=['#377eb8','#4daf4a','#984ea3','#ff7f00'] explode=(0.1,0.1,0.1,0.1) # exploded pie chart plt.pie(students,explode=explode, labels=labels, autopct='%3.1f%%', startangle=45, shadow=True, colors=colors) plt.title('选择不同难度测试试卷的学时百分比') plt.show() ``` ### 运行结果  ### 代码精讲 首先, 我们先解释 一下函数: ``` plt.pie(students,explode=explode, labels=labels, autopct='%3.1f%%', startangle=45, shadow=True, colors=colors) ``` 的参数含义, 如下所示。 * students: 饼片代表的百分比。 * explode:饼片边缘偏离半径的百分比。 * labels:标记每份饼片的文本标签内容。 * autopct:饼片文本标签内容对应的数值百分比样式 。 * startangle:从x轴作为起始位置, 第一个饼片逆时针旋转的角度。 * shadow:是否绘制饼片的阴影。 * colors:饼片的颜色。 变量labels 分别存储四份不同难度的试卷,变量students存储选择每套试卷的学生百分比 ,元组explode存储每份饼片边缘偏离相邻饼片边缘的半径长度比例值, 关键字参数autopct规定百分比保留一位有效数字 ,关键字参数startangle规定第一个饼片的起始角度是以x轴为起点逆时针旋转45。的,关键字参数shadow设定饼图中的每份饼片的投影,关键字参数colors设定每份饼片的颜色。 # 3、延伸阅读:非分裂式饼图 我们已经讲过分裂式饼图的绘制方法, 接下来就调整函数 pie()的参数, 绘制其他类型的饼图。如果我们不绘制 分裂式饼图 ,那么只需要去掉参数explode即可。 另外,我们可以设定参数pctdistance 和labeldistance的具体取值,这两个参数分别控制百分比数值和标签值的显示位置,它们都是以半径长度比例值作为显示位置依据的 。 ### 代码实现 ``` import matplotlib as mpl import matplotlib.pyplot as plt mpl.rcParams['font.sans-serif']=['SimHei'] mpl.rcParams['axes.unicode_minus']=False labels='A难度水平','B难度水平','C难度水平','D难度水平' students=[0.35,0.15,0.20,0.30] colors=['#377eb8','#4daf4a','#984ea3','#ff7f00'] # exploded pie chart plt.pie(students, labels=labels, autopct='%3.1f%%', startangle=45, pctdistance=0.7, labeldistance=1.2, colors=colors) plt.title('选择不同难度测试试卷的学时百分比') plt.show() ``` ### 运行结果  # 4、绘制内嵌环形饼图 本章我们围绕分裂式饼图的绘制原理, 讲解了非分裂式饼图的实现方法。 下面, 我们就在这些饼图绘制原理的基础上讲解内嵌式环形饼图的绘制方法, 使读者知道饼图不仅可以展示单一数据集的比例分布情况, 还可以对比展示多数据集的比例分布情况, 以此充分发挥饼图作为统计图形的展示效果。 饼图不仅可以用来描述定性数据的比例分布, 还可以将多个饼图进行嵌套, 从而实现内嵌环形饼图的可视化效果。 这样, 就可以进行多组定性数据比例分布的比较。 ### 代码实现 ``` import matplotlib as mpl import matplotlib.pyplot as plt mpl.rcParams['font.sans-serif'] = ['SimHei'] mpl.rcParams['axes.unicode_minus'] = False elements = ['面粉', '砂糖', '奶油', '草莓酱', '坚果'] weight1 = [40, 15, 20, 10, 15] weight2 = [30, 25, 15, 20, 10] colormapList = ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00'] outer_colors = colormapList inner_colors = colormapList wedges1, texts1, autotexts1 = plt.pie(weight1, autopct='%3.1f%%', radius=1, pctdistance=0.85, colors=outer_colors, textprops=dict(color='w'), wedgeprops=dict(width=0.3, edgecolor='w')) wedges2, texts2, autotexts2 = plt.pie(weight2, autopct="%3.1f%%", radius=0.7, pctdistance=0.75, colors=inner_colors, textprops=dict(color='w'), wedgeprops=dict(width=0.3, edgecolor='w')) plt.legend(wedges1, elements, fontsize=12, title='配料表', loc='center left', bbox_to_anchor=(0.91, 0, 0.3, 1)) plt.setp(autotexts1, size=15, weight='bold') plt.setp(autotexts2, size=15, weight='bold') plt.setp(texts1, size=12) plt.title('不同果酱面包配料比例表的比较') plt.show() ``` ### 运行结果  ### 代码精讲 我们在一幅画布中同时绘制了两幅饼图, 实现了将饼图嵌套放置的可视化需求, 同时这两个饼图是分别独立绘制的图形, 其中的参数和关键字参数以及相应的取值也是独立设置的。最后, 我们分别对数值标签和文本标签的样式进行设置, 实现更理想的展示效果。