项目3 比较型数据可视化_第1页
项目3 比较型数据可视化_第2页
项目3 比较型数据可视化_第3页
项目3 比较型数据可视化_第4页
项目3 比较型数据可视化_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python数据可视化案例教程全课导航项目1搭建数据可视化开发平台项目2

Python数据可视化基础项目3比较型数据可视化项目5关联型数据可视化项目4分布型数据可视化项目6比例型数据可视化项目7时间型数据可视化项目8文本型数据可视化项目9地理空间型数据可视化项目10点评网站美食店铺数据可视化项目3

比较型数据可视化知识目标了解比较型数据的概念及应用场景。了解柱形图的概念及应用,掌握使用matplotlib绘制柱形图的方法。了解条形图的概念及应用,掌握使用seaborn绘制条形图的方法。了解雷达图的概念及应用,掌握使用pyecharts绘制雷达图的方法。技能目标能使用柱形图、条形图和雷达图对比较型数据进行可视化和分析。素养目标锻炼具体问题具体分析的思维方法。培养积极主动寻求解决方法的意识。项目目标比较型数据可视化常用于呈现不同类别或组数据之间的相似性和差异性,帮助用户更好地理解和比较数据,从而做出更合理的决策。比较型数据可视化可以应用于许多场景,如销售数据比较、学生成绩分析、员工能力评估等。本项目将基于服装销售数据实现比较型数据可视化。项目描述按照项目要求,将“服装销售数据.xlsx”文件中的数据进行可视化的方法如下。(1)使用簇状柱形图实现各门店不同类服装销售额可视化。首先新建Python文件;然后编写代码,实现从数据源中读取数据,使用matplotlib绘制各门店不同类服装销售额簇状柱形图;最后对图表进行分析。(2)使用条形图实现各门店服装总销售额可视化。首先新建Python文件;然后编写代码,实现从数据源中读取数据并计算各门店服装总销售额,使用seaborn绘制各门店服装总销售额条形图;最后对图表进行分析。(3)使用雷达图实现各类服装在不同门店的销售额可视化。首先新建Python文件;然后编写代码,实现从数据源中读取数据,使用pyecharts绘制各类服装在不同门店的销售额雷达图,并渲染到网页文件;最后在浏览器中查看雷达图,并对图表进行分析。项目分析为了更好地实现服装销售数据可视化,本项目将对相关知识进行介绍,包括比较型数据的概念及应用场景,柱形图的概念、应用及使用matplotlib绘制柱形图的方法,条形图的概念、应用及使用seaborn绘制条形图的方法,雷达图的概念、应用及使用pyecharts绘制雷达图的方法。项目分析全班学生以3~5人为一组,各组选出组长。组长组织组员扫码观看“常见的比较型数据及可视化图表”视频,讨论并回答下列问题。问题1:列举生活中常见的比较型数据。问题2:列举常见的比较型数据可视化图表。项目准备常见的比较型数据及可视化图表3.1

什么是比较型数据3.2

柱形图项目实施——服装销售数据可视化项目导航3.3

条形图3.4

雷达图3.1

什么是比较型数据3.1什么是比较型数据比较型数据主要是指可以按照类别或组进行差异比较的数据,常用于帮助用户分析和评估数据的差异,从而发现数据的趋势和规律等。3.1什么是比较型数据用户可以按照不同时间段或不同地区对这些数据进行比较。常见的比较型数据销售额产量客户数量3.1什么是比较型数据对于具有不同特征的比较型数据,可以通过不同的可视化图表进行展示。比较型数据可视化常用的图表柱形图条形图雷达图常见的比较型数据有哪些?比较型数据可视化常用的图表有哪些?课堂检测什么是比较型数据课堂小结3.2

柱形图3.2柱形图柱形图是一种使用柱形来展示不同类别或组之间数据差异的图表。柱形图直观、易懂,是一种常用的图表。数据所属的类别数据的值如每个科目不同班级学生的平均成绩、每个月不同商品的销售额等柱形图中柱形的高度反映了数值的大小3.2柱形图因此,合理设置柱形图的宽度和间距很重要。柱形的宽度柱形图有两个重要参数相邻柱形的间距决定了整个柱形图视觉上的美观程度如果柱形的宽度过宽,会导致图表拥挤,柱形之间甚至会相互遮掩。如果相邻柱形的间距过小,会导致图表中的柱形难以区分,甚至会忽略数据。3.2柱形图常见的柱形图如下。簇状柱形图堆积柱形图单柱形图3.2.1单柱形图单柱形图是最基本的柱形图,用于展示一组不同类别数据的差异。单柱形图3.2.1单柱形图使用单柱形图实现某公司各部门1月份实际支出可视化。【例3-1】

本案例使用matplotlib的bar()函数绘制单柱形图,步骤如下。(1)导入pandas库和matplotlib库中的pyplot模块。(2)读取“某公司各部门1—2月份实际支出.xlsx”文件中的数据,并获取“部门”和“1月”列数据。【问题分析】3.2.1单柱形图使用单柱形图实现某公司各部门1月份实际支出可视化。【例3-1】

(3)创建画布并设置画布大小,设置中文字体、图表标题、y轴标题和文本标签。(4)绘制单柱形图,参数x为“部门”列数据,柱形高度height为“1月”列数据,柱形宽度width为0.5、填充颜色color为“teal”。(5)设置图例,显示图表。【问题分析】3.2.1单柱形图使用单柱形图实现某公司各部门1月份实际支出可视化。【例3-1】

importpandasaspd#导入pandas库#导入matplotlib库中的pyplot模块importmatplotlib.pyplotasplt#读取数据df=pd.read_excel(‘某公司各部门1—2月份实际支出.xlsx’)x=df[‘部门’]height=df[‘1月’]【参考代码】3.2.1单柱形图使用单柱形图实现某公司各部门1月份实际支出可视化。【例3-1】

plt.figure(figsize=(8,

4))#创建画布并设置画布大小plt.rcParams[‘font.sans-serif’]=‘SimHei’#设置中文字体plt.title(‘某公司各部门1月份实际支出单柱形图’)#设置图表标题plt.ylabel(‘实际支出(元)’)#设置y轴标题#设置文本标签fora,

binzip(x,

height):

plt.text(a,b,‘%d’

%b,

ha=‘center’)【参考代码】3.2.1单柱形图使用单柱形图实现某公司各部门1月份实际支出可视化。【例3-1】

plt.bar(x,height,0.5,

color=‘teal’)#绘制单柱形图plt.legend((‘1月’,))#设置图例plt.show()#显示图表【参考代码】3.2.1单柱形图使用单柱形图实现某公司各部门1月份实际支出可视化。【例3-1】

【运行结果】【结果分析】1月份市场部的实际支出最高,研发部的实际支出最低。3.2.2簇状柱形图簇状柱形图用于比较不同组数据的差异,可以理解为多个排列在一起的单柱形图,每个单柱形图表示一组数据,每组数据使用不同颜色加以区分。簇状柱形图使用簇状柱形图实现某公司各部门1—2月份实际支出可视化。【例3-2】

本案例使用matplotlib的bar()函数绘制簇状柱形图,可参考例3-1,不同的步骤如下。(1)创建一个“部门”列数据长度的等差数组(起始值为0,步长为1),将其作为x轴数据。(2)定义列表,并将“1月”和“2月”列数据添加到列表中,作为柱形高度。【问题分析】3.2.2簇状柱形图使用簇状柱形图实现某公司各部门1—2月份实际支出可视化。【例3-2】

(3)循环绘制各部门1月份和2月份实际支出的单柱形图,并设置文本标签。(4)将“部门”列数据设置为x轴刻度标签。

需要注意的是,在循环绘制单柱形图时,从第2次绘制起每次绘制的x轴数据应在前一次的基础上增加一个柱形宽度的值,否则多个柱形会重叠。【问题分析】3.2.2簇状柱形图3.2.2簇状柱形图importnumpyasnp#导入numpy库importpandasaspd#导入pandas库#导入matplotlib库中的pyplot模块importmatplotlib.pyplotasplt#读取数据df=pd.read_excel(‘某公司各部门1—2月份实际支出.xlsx’)【参考代码】使用簇状柱形图实现某公司各部门1—2月份实际支出可视化。【例3-2】

3.2.2簇状柱形图plt.figure(figsize=(8,4))#创建画布并设置画布大小plt.rcParams[‘font.sans-serif’]=‘SimHei’#设置中文字体plt.title(‘某公司各部门1—2月份实际支出簇状柱形图’)#设置图表标题plt.ylabel(‘实际支出(元)’)#设置y轴标题x_data=np.arange(len(df[‘部门’]))#创建数组,将其作为x轴数据【参考代码】使用簇状柱形图实现某公司各部门1—2月份实际支出可视化。【例3-2】

3.2.2簇状柱形图height_data=[]#定义列表,用于保存柱形高度height_data.append(df[‘1月’])height_data.append(df[‘2月’])width=0.4#设置柱形宽度【参考代码】使用簇状柱形图实现某公司各部门1—2月份实际支出可视化。【例3-2】

3.2.2簇状柱形图#循环绘制单柱形图,并设置文本标签foriinrange(len(height_data)):

x=x_data+i*width

height=height_data[i]

plt.bar(x,height,

width)

fora,

binzip(x,

height):

plt.text(a,b,

‘%d’

%b,

ha=‘center’)【参考代码】使用簇状柱形图实现某公司各部门1—2月份实际支出可视化。【例3-2】

3.2.2簇状柱形图plt.xticks(x_data+0.2,

df[‘部门’])#设置x轴刻度标签plt.legend((‘1月’,

‘2月’))#设置图例plt.show()#显示图表【参考代码】使用簇状柱形图实现某公司各部门1—2月份实际支出可视化。【例3-2】

【运行结果】【结果分析】1—2月份客服部的实际支出相差最大,生产部的实际支出相差最小。3.2.2簇状柱形图使用簇状柱形图实现某公司各部门1—2月份实际支出可视化。【例3-2】

3.2.3堆积柱形图堆积柱形图用于展示不同类别或组数据的对比情况,每个类别或组在柱形图中都有对应的柱形,不同颜色表示不同的组。不同组中相同类别的柱形按照绘制顺序依次叠加在一起,形成一个高的柱形。堆积柱形图使用堆积柱形图实现某公司各部门1—2月份实际支出可视化。【例3-3】

本案例使用matplotlib的bar()函数绘制堆积柱形图,可参考例3-1。不同的是,绘制图表时首先绘制1月份实际支出的单柱形图,然后利用bar()函数的bottom参数在1月份单柱形图的基础上叠加绘制2月份实际支出的单柱形图,接着在每个柱形中间位置设置文本标签。【问题分析】3.2.3堆积柱形图importpandasaspd#导入pandas库#导入matplotlib库中的pyplot模块importmatplotlib.pyplotasplt#读取数据df=pd.read_excel(‘某公司各部门1—2月份实际支出.xlsx’)x=df[‘部门’]【参考代码】使用堆积柱形图实现某公司各部门1—2月份实际支出可视化。【例3-3】

3.2.3堆积柱形图plt.figure(figsize=(8,

4))#创建画布并设置画布大小plt.rcParams[‘font.sans-serif’]=‘SimHei’#设置中文字体plt.title(‘某公司各部门1—2月份实际支出堆积柱形图’)#设置图表标题plt.ylabel(‘实际支出(元)’)#设置y轴标题width=0.4#设置柱形宽度#绘制堆积柱形图plt.bar(x,

df[‘1月’],width,

color=‘green’)plt.bar(x,

df[‘2月’],width,

bottom=df[‘1月’],

color=‘salmon’)【参考代码】使用堆积柱形图实现某公司各部门1—2月份实际支出可视化。【例3-3】

3.2.3堆积柱形图#设置文本标签fora,b,

cinzip(x,

df[‘1月’],

df[‘2月’]):

plt.text(a,

b/2,

‘%d’

%b,

ha=‘center’,

va=‘center’)

plt.text(a,

b+c/2,

‘%d’

%c,

ha=‘center’,

va=‘center’)plt.legend((‘1月’,

‘2月’))#设置图例plt.show()#显示图表【参考代码】使用堆积柱形图实现某公司各部门1—2月份实际支出可视化。【例3-3】

3.2.3堆积柱形图【运行结果】【结果分析】1—2月份市场部的总实际支出最高,人事部的总实际支出最低。使用堆积柱形图实现某公司各部门1—2月份实际支出可视化。【例3-3】

3.2.3堆积柱形图柱形图的重要参数有哪些?常见的柱形图有哪些?课堂检测柱形图单柱形图簇状柱形图堆积柱形图课堂小结3.3

条形图3.3条形图条形图与柱形图类似。数据的值数据所属的类别常见的条形图如下。簇状条形图堆积条形图单条形图相较于柱形图,条形图能更方便、美观地展示较多类别的数据和较长的类别名称。3.3条形图使用簇状条形图实现某公司各季度不同地区产品销售额可视化。【例3-4】

本案例使用seaborn的barplot()函数绘制簇状条形图,步骤如下。(1)导入pandas库、matplotlib库中的pyplot模块和seaborn库。(2)使用pandas读取“某公司产品销售数据.xlsx”文件中的数据,然后使用pyplot模块创建画布并设置画布大小。【问题分析】3.3条形图使用簇状条形图实现某公司各季度不同地区产品销售额可视化。【例3-4】

(3)使用seaborn设置图表样式(样式主题和中文字体)和颜色主题,然后绘制簇状条形图,参数x、y和颜色映射hue分别为“销售额(万元)”“季度”和“地区”列标签,data为读取的DataFrame格式的数据,绘制方向orient为“ha”(水平方向)。(4)使用pyplot模块设置文本标签和图表标题,显示图表。【问题分析】3.3条形图使用簇状条形图实现某公司各季度不同地区产品销售额可视化。【例3-4】

其中,通过pyplot模块的Axes对象设置文本标签。首先使用gca()函数获取当前绘图区的Axes对象,然后遍历Axes对象的containers属性返回的列表(包含当前绘图区所有容器对象),使用Axes对象的bar_label()函数为每个条形设置文本标签。【问题分析】3.3条形图提示在matplotlib中,一张画布可以包含多个绘图区,每个绘图区对应一个Axes对象。每个Axes对象都有自己的坐标轴,通过Axes对象可以对自己坐标轴的范围、刻度、标签等进行设置。importpandasaspd#导入pandas库#导入matplotlib库中的pyplot模块importmatplotlib.pyplotaspltimportseabornassns#导入seaborn库df=pd.read_excel(‘某公司产品销售数据.xlsx’)#读取数据plt.figure(figsize=(8,

4))#创建画布并设置画布大小【参考代码】3.3条形图使用簇状条形图实现某公司各季度不同地区产品销售额可视化。【例3-4】

#设置图表样式,包括样式主题和中文字体sns.set_style(style=‘ticks’,

rc={‘font.sans-serif’:‘SimHei’})sns.set_palette(sns.color_palette(‘husl’,

8))#设置颜色主题#绘制条形图sns.barplot(x=‘销售额(万元)’,

y=‘季度’,

hue=‘地区’,data=df,

orient=‘ha’)【参考代码】3.3条形图使用簇状条形图实现某公司各季度不同地区产品销售额可视化。【例3-4】

ax=plt.gca()#获取当前绘图区的Axes对象#为每个条形设置文本标签,“edge”表示将文本标签放置在条形右边缘位置forpinax.containers:

ax.bar_label(container=p,

label_type=‘edge’)plt.title(‘某公司各季度不同地区产品销售额簇状条形图’)#设置图表标题plt.show()#显示图表【参考代码】3.3条形图使用簇状条形图实现某公司各季度不同地区产品销售额可视化。【例3-4】

【运行结果】【结果分析】第一季度和第二季度北京地区的产品销售额最高,武汉地区的产品销售额最低;第三季度上海地区的产品销售额最高,武汉地区的产品销售额最低;第四季度北京地区的产品销售额最高,上海地区的产品销售额最低。3.3条形图使用簇状条形图实现某公司各季度不同地区产品销售额可视化。【例3-4】

相较于柱形图,条形图有哪些优点?通过什么可以对自己坐标轴的范围、刻度、标签等进行设置?课堂检测条形图课堂小结3.4

雷达图3.4雷达图雷达图是一种从多个维度展示对象情况的图表。雷达图通常由多条从中心向外辐射的轴线组成,每条轴线代表一个维度,连接各轴线上的取值形成一个多边形区域。多边形的形状和大小可以反映对象在不同维度之间的差异程度。3.4雷达图常见的雷达图应用场景员工能力分析个人或团队绩效评估产品或方案特性比较用户满意度调查使用雷达图实现某员工能力分析可视化。【例3-5】

本案例使用pyecharts的Radar类绘制雷达图,步骤如下。(1)导入pyecharts库中的options模块,pyecharts库中charts模块的Radar类,pyecharts库中globals模块的ThemeType全局变量。(2)创建Radar类对象,并设置初始配置项。(3)使用add()方法添加数据(series_name和data),并设置线条样式配置项(linestyle_opts)。【问题分析】3.4雷达图初始配置项画布大小图表主题网页标题使用雷达图实现某员工能力分析可视化。【例3-5】

(4)使用add_schema()方法设置雷达图配置项。(5)设置全局配置项。(6)将图表渲染到HTML文件。【问题分析】3.4雷达图雷达图配置项指示器配置项列表(schema)中心坐标(center)分割线配置项(splitline_opt)文本样式配置项(textstyle_opts)全局配置项标题配置项(title_opts)图例配置项(legend_opts)#导入pyecharts库中的options模块frompyechartsimportoptionsasopts#导入pyecharts库中charts模块的Radar类frompyecharts.chartsimportRadar#导入pyecharts库中globals模块的ThemeType全局变量frompyecharts.globalsimportThemeType【参考代码】3.4雷达图使用雷达图实现某员工能力分析可视化。【例3-5】

#创建Radar类对象,并设置初始配置项,包括画布大小、图表主题和网页标题radar=Radar(init_opts=opts.InitOpts(

width=‘600px’,

height=‘400px’,

theme=ThemeType.ESSOS,

page_title=‘雷达图’))#添加雷达图数据,并设置线条样式配置项中的线条颜色radar.add(series_name=‘某员工’,

data=[[90,60,75,85,

95]],

linestyle_opts=opts.LineStyleOpts(color=‘red’))【参考代码】3.4雷达图使用雷达图实现某员工能力分析可视化。【例3-5】

#设置配置项radar.add_schema(

#设置雷达图指示器配置项列表,包括指示器名称和最大值

schema=[

opts.RadarIndicatorItem(name=‘管理能力’,

max_=100),

opts.RadarIndicatorItem(name=‘业务能力’,max_=100),

opts.RadarIndicatorItem(name=‘组织能力’,

max_=100),

opts.RadarIndicatorItem(name=‘沟通能力’,

max_=100),

opts.RadarIndicatorItem(name=‘表达能力’,

max_=100),

],【参考代码】3.4雷达图使用雷达图实现某员工能力分析可视化。【例3-5】

center=[‘50%’,

‘60%’],

#设置雷达图中心坐标

#设置分割线配置项,包括显示分割线和分割线颜色

splitline_opt=opts.SplitLineOpts(is_show=True,

linestyle_opts=opts.LineStyleOpts(color=‘grey’)),

#设置文本样式配置项中的文本颜色

textstyle_opts=opts.TextStyleOpts(color=‘black’),)【参考代码】3.4雷达图使用雷达图实现某员工能力分析可视化。【例3-5】

#设置全局配置项radar.set_global_opts(

#设置标题配置项,包括图表标题及其位置

title_opts=opts.TitleOpts(

title=‘某员工能力分析雷达图’,

pos_left=‘center’),#设置图例配置项,包括图例离画布右侧和顶部的距离

legend_opts=opts.LegendOpts(pos_right=‘35’,

pos_top=‘25’))radar.render(‘例3-5.html’)#渲染图表【参考代码】3.4雷达图使用雷达图实现某员工能力分析可视化。【例3-5】

【运行结果】【结果分析】该员工的表达能力相对较强,业务能力相对较弱。3.4雷达图使用雷达图实现某员工能力分析可视化。【例3-5】

在浏览器中打开“例3-5.html”文件,网页效果如图所示。常见的雷达图应用场景有哪些?简述绘制雷达图的步骤。课堂检测雷达图课堂小结项目实施

服装销售数据可视化服装销售数据可视化1.簇状柱形图:各门店不同类服装销售额可视化簇状柱

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论