版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python数据可视化案例教程全课导航项目1搭建数据可视化开发平台项目2
Python数据可视化基础项目3比较型数据可视化项目5关联型数据可视化项目4分布型数据可视化项目6比例型数据可视化项目7时间型数据可视化项目8文本型数据可视化项目9地理空间型数据可视化项目10点评网站美食店铺数据可视化项目6
比例型数据可视化知识目标了解比例型数据的概念及应用场景。了解饼图和华夫饼图的概念及应用,掌握使用matplotlib绘制饼图和华夫饼图的方法。了解环形图和矩形树图的概念及应用,掌握使用pyecharts绘制环形图和矩形树图的方法。技能目标能使用饼图、环形图、矩形树图和华夫饼图对比例型数据进行可视化和分析。素养目标提高自己的动手能力,做到学以致用。培养独立分析问题能力。项目目标比例型数据可视化可以直观、清晰地展示不同类别或组数据在整体中占比的大小和相对差异,帮助用户更好地理解和分析不同类别或组之间的关系,发现它们的共性和差异,从而做出更有针对性的决策。比例型数据可视化常用于市场份额分析、调查结果分析、业务指标分析等。本项目将基于某公司2022年入职员工信息实现比例型数据可视化。项目描述按照项目要求,对“某公司2022年入职员工信息.xlsx”文件中的数据进行可视化的方法如下。(1)使用饼图实现不同部门入职员工占比可视化。首先新建Python文件;然后编写代码,实现从数据源中读取数据并按部门统计入职员工数量,使用matplotlib绘制不同部门入职员工占比饼图;最后对图表进行分析。(2)使用矩形树图实现各部门不同学历入职员工占比可视化。首先新建Python文件;然后编写代码,实现从数据源中读取数据,并处理数据生成具有层级结构的数据集,使用pyecharts绘制各部门不同学历入职员工占比矩形树图;最后在浏览器中查看矩形树图,并对图表进行分析。项目分析为了更好地实现某公司2022年入职员工信息可视化,本项目将对相关知识进行介绍,包括比例型数据的概念及应用场景,饼图和华夫饼图的概念、应用及使用matplotlib绘制饼图和华夫饼图的方法,环形图和矩形树图的概念、应用及使用pyecharts绘制环形图和矩形树图的方法。项目分析全班学生以3~5人为一组,各组选出组长。组长组织组员扫码观看“常见的比例型数据及可视化图表”视频,讨论并回答下列问题。问题1:列举生活中常见的比例型数据。问题2:列举常见的比例型数据可视化图表。项目准备常见的比例型数据及可视化图表6.1
什么是比例型数据6.2
饼图项目实施——某公司2022年入职员工信息可视化项目导航6.3
环形图6.4
矩形树图6.5
华夫饼图6.1
什么是比例型数据6.1什么是比例型数据比例型数据主要是指可以用来分析不同类别或组在整体中占比的数据。这类数据具有明显的相对性和可比性,更容易比较与分析各类别或组在整体中占比的大小和相对差异。比例型数据可视化常用的图表饼图环形图矩形树图华夫饼图6.1什么是比例型数据为了更好地展示不同类别或组在整体中的占比,帮助用户理解各部分的重要程度和关系,可以对比例型数据进行可视化。比例型数据可视化常用的图表有哪些?课堂检测什么是比例型数据课堂小结6.2
饼图6.2
饼图饼图是一种基于圆形的图表,用不同的扇形表示每个类别或组的占比,每个扇形的大小与对应类别或组的占比成正比。饼图直观、易懂,用户可以通过观察扇形的大小,了解各部分的重要程度和关联性。6.2
饼图需要注意的是,饼图展示的数据类别或组数量不宜过多,如果数量太多,饼图将难以直观地呈现各部分的相对大小,从而不利于用户理解图表。使用饼图实现某店铺不同促销方式下购买人数占比可视化。【例6-1】
本案例基于“某店铺促销方式分析.xlsx”文件中的数据,使用matplotlib的pie()函数绘制饼图。函数中,扇形数据x为“购买人数”列数据,扇形标签labels为“促销方式”列数据,比例的字符串格式autopct为“%.2f%%”(保留两位小数的百分比格式),扇形起始绘制角度startangle为90,绘制方向counterclock为False(顺时针绘制),扇形属性wedgeprops为{‘linewidth’:1,‘edgecolor’:‘white’}(扇形边框的宽度和颜色)。【问题分析】6.2
饼图importpandasaspd#导入pandas库#导入matplotlib库中的pyplot模块importmatplotlib.pyplotaspltdf=pd.read_excel(‘某店铺促销方式分析.xlsx’)#读取数据plt.rcParams[‘font.sans-serif’]=‘SimHei’#设置中文字体【参考代码】使用饼图实现某店铺不同促销方式下购买人数占比可视化。【例6-1】
6.2
饼图#绘制饼图,添加数据,并设置扇形标签、比例的字符串格式、扇形起始绘制角度、绘制方向、扇形属性中边框的宽度和颜色plt.pie(x=df[‘购买人数’],
labels=df[‘促销方式’],
autopct=‘%.2f%%’,startangle=90,counterclock=False,
wedgeprops={‘linewidth’:1,
‘edgecolor’:‘white’})plt.title(‘某店铺不同促销方式下购买人数占比饼图’)#设置图表标题plt.show()#显示图表【参考代码】使用饼图实现某店铺不同促销方式下购买人数占比可视化。【例6-1】
6.2
饼图【运行结果】【结果分析】该店铺的不同促销方式中,换季打折促销方式下的购买人数占比最大,赠品促销方式下的购买人数占比最小。使用饼图实现某店铺不同促销方式下购买人数占比可视化。【例6-1】
6.2
饼图使用什么函数绘制饼图?课堂检测饼图课堂小结6.3
环形图6.3环形图环形图与饼图类似,可以看作特殊的饼图,由一个空白的中心圆和多个环形区域组成,每个环形区域的大小表示该类别或组数据在整体中的占比。环形图通常比饼图更清晰、美观,这是因为环形图的中心圆不仅可以用来显示额外信息,还可以减少饼图中扇形之间的视觉干扰。使用环形图分别实现男性和女性在某店铺不同促销方式下的购买人数占比可视化。【例6-2】
本案例基于“某店铺促销方式分析.xlsx”文件中的数据,使用pyecharts的Pie类绘制环形图。【问题分析】6.3环形图使用环形图分别实现男性和女性在某店铺不同促销方式下的购买人数占比可视化。【例6-2】
Pie类的add()方法中data_pair
表示系列数据项,设置为“促销方式”和“男”(“女”)列数据组成的列表;radius表示饼图或环形图的半径,设置为环形图内半径和外半径组成的列表(第1个元素为内半径,第2个元素为外半径);center表示饼图或环形图的中心位置,设置为相对于画布宽度和高度组成的列表;label_opts表示标签配置项,通过标签内容格式器formatter设置标签的显示格式,设置为“{b}({d}%)”。【问题分析】6.3环形图使用环形图分别实现男性和女性在某店铺不同促销方式下的购买人数占比可视化。【例6-2】
formatter支持字符串模板,在饼图或环形图中{a}表示系列名称,{b}表示数据项名称,{c}表示数值,{d}表示百分比。例如,本案例中扇形的标签显示为“赠品(5.66%)”“买一赠一(19.72%)”等。【问题分析】6.3环形图提示Pie类的add()方法中,如果radius设置为一个数值,则绘制饼图。importpandasaspd#导入pandas库#导入pyecharts库中的options模块frompyechartsimportoptionsasopts#导入pyecharts库中charts模块的Pie类frompyecharts.chartsimportPie#导入pyecharts库中globals模块的ThemeType全局变量frompyecharts.globalsimportThemeType使用环形图分别实现男性和女性在某店铺不同促销方式下的购买人数占比可视化。【例6-2】
6.3环形图【参考代码】df=pd.read_excel(‘某店铺促销方式分析.xlsx’)#读取数据#创建Pie类对象,并设置初始配置项,包括画布大小、图表主题和网页标题pie=Pie(init_opts=opts.InitOpts(
width=‘1050px’,
height=‘400px’,
theme=ThemeType.LIGHT,
page_title=‘环形图’))使用环形图分别实现男性和女性在某店铺不同促销方式下的购买人数占比可视化。【例6-2】
6.3环形图【参考代码】#添加数据,并设置环形图的内半径和外半径、中心位置,以及标签配置项中标签的显示格式pie.add(series_name=‘’,
data_pair=df[[‘促销方式’,
‘男’]].values.tolist(),
radius=[80,
120],
center=[‘25%’,
‘55%’],
label_opts=opts.LabelOpts(formatter=‘{b}({d}%)’))pie.add(series_name=‘’,
data_pair=df[[‘促销方式’,
‘女’]].values.tolist(),
radius=[80,120],center=[‘70%’,
‘55%’],
label_opts=opts.LabelOpts(formatter=‘{b}({d}%)’))使用环形图分别实现男性和女性在某店铺不同促销方式下的购买人数占比可视化。【例6-2】
6.3环形图【参考代码】#设置全局配置项pie.set_global_opts(
#设置标题配置项,包括图表标题及其位置
title_opts=opts.TitleOpts(
title=‘男性和女性在某店铺不同促销方式下购买人数占比环形图’+‘(男性:左图,女性:右图)’,
pos_left=‘center’),
#设置图例配置项,不显示图例
legend_opts=opts.LegendOpts(is_show=False))pie.render(‘例6-2.html’)#渲染图表【参考代码】使用环形图分别实现男性和女性在某店铺不同促销方式下的购买人数占比可视化。【例6-2】
6.3环形图【结果分析】该店铺的男性购买人数中,换季打折促销方式下的购买人数占比最大,且远超其他方式,赠品促销方式下的购买人数占比最小;女性购买人数中,换季打折和买一赠一促销方式下的购买人数占比差别不大,会员打折卡促销方式下的购买人数占比最小。使用环形图分别实现男性和女性在某店铺不同促销方式下的购买人数占比可视化。【例6-2】
6.3环形图【运行结果】为什么环形图通常比饼图更清晰、美观?课堂检测环形图课堂小结6.4
矩形树图6.4矩形树图矩形树图也称矩形式树状结构图,是一种用多组矩形来展示层级数据的图表。矩形树图中,每个矩形代表一个数据项,矩形的大小表示数据项的占比,矩形的颜色表示数据项的层级关系。6.4矩形树图从矩形树图的名称能看出矩形树图与树状图的关系,树状图通过“树杈”连接具有层级关系的数据,展示上下级、同级的数据关系,矩形树图则将树状结构转化为平面矩形的形态,既能展示数据间的层级关系,又能展示数据的占比。使用矩形树图实现某店铺不同促销方式下男性和女性购买人数占比可视化。【例6-3】
6.4矩形树图本案例基于“某店铺促销方式分析.xlsx”文件中的数据,使用pyecharts的TreeMap类绘制矩形树图。【问题分析】TreeMap类的add()方法中data表示数据集,设置为具有层级结构的字典列表;label_opts表示标签配置项,通过formatter设置标签的显示格式;upper_label_opts表示父标签配置项,设置为不显示父标签;levels表示层级配置,设置为层级配置项(TreeMapLevelsOpts)组成的列表,第一个元素为第一层级的配置,以此类推。【问题分析】使用矩形树图实现某店铺不同促销方式下男性和女性购买人数占比可视化。【例6-3】
6.4矩形树图具有层级结构的字典列表中,每个字典为一个父节点,包括name、value和children关键字。children的值也为字典列表,其中的每个字典为一个子节点,包括name和value关键字,具体结构如下。【问题分析】使用矩形树图实现某店铺不同促销方式下男性和女性购买人数占比可视化。【例6-3】
6.4矩形树图[
{
‘name’:‘父节点’,
‘value’:number,
‘children’:[
{‘name’:‘子节点1’,
‘value’:number},
{‘name’:‘子节点2’,
‘value’:number},
{‘name’:‘子节点3’,
‘value’:number},
…
]
},
…]本案例中,父节点为不同促销方式下购买人数占比,其子节点为对应促销方式下不同性别的购买人数占比。此外,层级配置项通过层级样式配置项(TreeMapItemStyleOpts)中的gap_width设置每个层级中矩形的间隔宽度,如opts.TreeMapLevelsOpts(treemap_itemstyle_opts=opts.TreeMapItemStyleOpts(gap_width=2))表示该层级中每个矩形的间隔宽度为2。【问题分析】使用矩形树图实现某店铺不同促销方式下男性和女性购买人数占比可视化。【例6-3】
6.4矩形树图【参考代码】importpandasaspd#导入pandas库#导入pyecharts库中的options模块frompyechartsimportoptionsasopts#导入pyecharts库中charts模块的TreeMap类frompyecharts.chartsimportTreeMap#导入pyecharts库中globals模块的ThemeType全局变量frompyecharts.globalsimportThemeTypedf=pd.read_excel(‘某店铺促销方式分析.xlsx’)#读取数据total=df[‘购买人数’].sum()#计算总购买人数tree=[]#定义列表使用矩形树图实现某店铺不同促销方式下男性和女性购买人数占比可视化。【例6-3】
6.4矩形树图【参考代码】#生成具有层级结构的字典列表,每个父节点有两个子节点foriinrange(len(df.index)):
dic={}#定义字典
#获取促销方式,并将其赋给父节点的name关键字
dic[‘name’]=df[‘促销方式’][i]
#计算当前促销方式下的购买人数占比,并赋给父节点的value关键字
dic[‘value’]=round(int(df[‘购买人数’][i])/total*100,
2)使用矩形树图实现某店铺不同促销方式下男性和女性购买人数占比可视化。【例6-3】
6.4矩形树图【参考代码】
dic[‘children’]=[
{
#将当前促销方式和性别组合并赋给子节点的name关键字
‘name’:df[‘促销方式’][i]+‘-男’,
#计算当前促销方式下的男性购买人数占比,并赋给子节点的value关键字
‘value’:round(int(df[‘男’][i])/total*100,
2)
},使用矩形树图实现某店铺不同促销方式下男性和女性购买人数占比可视化。【例6-3】
6.4矩形树图【参考代码】
{
#将当前促销方式和性别组合并赋给子节点的name关键字
‘name’:df[‘促销方式’][i]+‘-女’,
#计算当前促销方式下的女性购买人数占比,并赋给子节点的value关键字
‘value’:round(int(df[‘女’][i])/total*100,
2)
}
]
tree.append(dic)#将字典添加到列表中使用矩形树图实现某店铺不同促销方式下男性和女性购买人数占比可视化。【例6-3】
6.4矩形树图【参考代码】#创建TreeMap类对象,并设置初始配置项,包括画布大小、图表主题和网页标题treemap=TreeMap(init_opts=opts.InitOpts(
width=‘1000px’,
height=‘600px’,
theme=ThemeType.SHINE,
page_title=‘矩形树图’))#添加数据,并设置标签的显示格式、不显示父节点标签、层级配置treemap.add(series_name=‘’,data=tree,
label_opts=opts.LabelOpts(formatter=‘{b}\n\n{c}%’),
upper_label_opts=opts.LabelOpts(is_show=False),使用矩形树图实现某店铺不同促销方式下男性和女性购买人数占比可视化。【例6-3】
6.4矩形树图【参考代码】levels=[
opts.TreeMapLevelsOpts(
treemap_itemstyle_opts=opts.TreeMapItemStyleOpts(gap_width=2)),
opts.TreeMapLevelsOpts(
treemap_itemstyle_opts=opts.TreeMapItemStyleOpts(gap_width=1))
])使用矩形树图实现某店铺不同促销方式下男性和女性购买人数占比可视化。【例6-3】
6.4矩形树图【参考代码】#设置全局配置项treemap.set_global_opts(
#设置标题配置项,包括图表标题及其位置
title_opts=opts.TitleOpts(
title=‘某店铺不同促销方式下男性和女性购买人数占比矩形树图’,
pos_left=‘center’),
#设置图例配置项,不显示图例
legend_opts=opts.LegendOpts(is_show=False))treemap.render(‘例6-3.html’)#渲染图表使用矩形树图实现某店铺不同促销方式下男性和女性购买人数占比可视化。【例6-3】
6.4矩形树图【运行结果】【结果分析】矩形树图不仅展示了该店铺不同促销方式下的购买人数占比,还展示了每种促销方式下男性和女性购买人数占比。其中,换季打折促销方式下的女性购买人数占比最大,赠品促销方式下的男性购买人数占比最小。使用矩形树图实现某店铺不同促销方式下男性和女性购买人数占比可视化。【例6-3】
6.4矩形树图提示当单击矩形树图中的某个矩形时,图表下方的黑色矩形会显示当前选择数据的层级关系。例如,单击上图中的“赠品-男”矩形,黑色矩形会显示。矩形树图中,矩形的大小表示什么?矩形的颜色表示什么?当单击矩形树图中的某个矩形时,图表下方的黑色矩形会显示什么?课堂检测矩形树图课堂小结6.5
华夫饼图6.5华夫饼图华夫饼图也称直角饼图,是饼图的变体,一般由100个小方格组成,每个小方格代表1%。华夫饼图通过不同的颜色区分不同的类别或组,不同颜色方格的数量表示不同类别或组在整体中的占比。华夫饼图常用于比较同类指标完成的比例,如电影上座率、公司业务实际完成率等。使用华夫饼图实现某电影上座率可视化。【例6-4】
本案例使用matplotlib库和pywaffle库(使用前须安装)绘制华夫饼图。pywaffle是Python中专门绘制华夫饼图的第三方库,它提供了一个继承自Figure类的子类Waffle,通过将Waffle类传递给figure()函数的FigureClass参数即可创建华夫饼图。figure()函数中,FigureClass表示Figure类或Figure子类,设置为Waffle;rows和columns表示华夫饼图的行数和列数,均设置为10;values表示数据集,设置为某电影上座和空座数据组成的字典;【问题分析】6.5华夫饼图使用华夫饼图实现某电影上座率可视化。【例6-4】
vertical表示是否按垂直方向绘制华夫饼图,设置为True;title表示图表标题,设置为“某电影上座率华夫饼图”;legend表示图例,设置为一个字典,其键为pyplot模块中legend()函数的参数,如labels(图例文本)、bbox_to_anchor(图例位置)、ncol(图例列数)和frameon(是否显示图例边框)。其中,bbox_to_anchor接收一个元组(x,y)作为参数,表示图例相对于图表的位置。例如,(0,0)表示在图表的左下角,(1,1)表示在图表的右上角。【问题分析】6.5华夫饼图【参考代码】#导入matplotlib库中的pyplot模块importmatplotlib.pyplotaspltfrompywaffleimportWaffle#导入pywaffle库中的Waffle类#设置中文字体plt.rcParams[‘font.sans-serif’]=‘SimHei’data={‘上座’:150,
‘空座’:50}total=sum(list(data.values()))使用华夫饼图实现某电影上座率可视化。【例6-4】
6.5华夫饼图【参考代码】#绘制华夫饼图,并设置Figure子类,华夫饼图的行数、列数、数据集、绘制方向、标题和图例plt.figure(
FigureClass=Waffle,rows=10,columns=10,
values=data,vertical=True,
title={‘label’:‘某电影上座率华夫饼图’},使用华夫饼图实现某电影上座率可视化。【例6-4】
6.5华夫饼图【参考代码】
#设置图例的文本、位置、列数,以及不显示图例边框
legend={
‘labels’:[‘({}){:.0f}%’.format(k,
100*v/total)fork,
vindata.items()],
‘bbox_to_anchor’:(0.85,
-0.1),
‘ncol’:2,
‘frameon’:False
})plt.show()#显示图表使用华夫饼图实现某电影上座率可视化。【例6-4】
6.5华夫饼图【运行结果】【结果分析】该电影上座率为75%,空座率为25%,上座率是空座率的3倍。使用华夫饼图实现某电影上座率可视化。【例6-4】
6.5华夫饼图华夫饼图通过什么区分不同的类别或组?用什么表示不同类别或组在整体中的占比?课堂检测华夫饼图课堂小结项目实施
某公司2022年入职员工信息可视化某公司2022年入职员工信息可视化1.饼图:不同部门入职员工占比可视化饼图:不同部门入职
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家长行业知识
- 2026年律师代理委托合同
- 2026年立体设计装裱合同协议
- 2026年住宅租赁权质押合同
- 2026年窗帘布艺样品返利合同协议
- 2026年产品发布会拍摄合同
- 2026年桥梁工程劳务承包合同
- 2026年航空运输实习合同协议
- 家长会培训课件
- 雇佣合同续签协议2026年
- 经营茶室方案么(3篇)
- 婴幼儿营养与喂养 项目四 婴幼儿营养与科学喂养课程 教案
- 12S522混凝土模块式排水检查井图集
- 厥脱患者中医急救与护理
- 设计团队介绍
- 中燃气计量管理制度
- 天然气公司输配管理制度
- 2026届高考生物一轮复习:人教版(2019)选择性必修3《生物技术与工程》必背知识点考点提纲
- 2025年连云港市中考生物试卷真题(含答案)
- 物流行业项目实施的协调措施
- 母牛出租合同协议
评论
0/150
提交评论