资源描述
实训操作手册
2,实验设计
(1)导入库和数据
导入matplotlib库与pyplot模块,由于matplotlib库默认不显示中文, 使用rcparam参数解决matplot中中文乱码,然后读取服务器中内置的csv格式 的“淘宝兰花数据集"。
(2)设置轴数据
将“植物品种"作为X轴变量,将“付款人数"作为Y轴变量,先统计不 同品种的兰花的数量,将每一品种兰花根据“是否带花苞/花箭”分为两类,统 计每种“包含花苞/花箭”和“不包含花苞/花箭”兰花的付款人数。
(3)创建画布与子图(柱形图)
创建画图的画布,并在画布中添加柱形图,在同一横坐标刻度画不同品种 的兰花包含于与不包含花苞/花箭时付款人数的统计柱子,将统一刻度的是否包 含花苞/花箭这两个柱子叠加,形成堆积柱形图。
(4)设置图形元素
对柱形图的标题、横纵坐标轴轴标题进行命名,显示数据标签,设置横坐 标刻度文字的显示效果。
(5)生成图片
设置生成图片的路径和名称,生成图片。
(6)可视化分析
通过下图可知,购买人数多的都是不带花苞/花箭的兰花产品,所值在产品 选品时,可尽量集中在不带花苞/花箭的兰花产品。
堆积柱状图(是否带花苞/花箭)40000 -
40000 -
40000 -
40000 -
20000 -
80000 -
60000 -
植物品种
5 828 是:277 是:230 是:0 是:320 是:0 互尘5否:305否:278否:483否:91否:28,
(二)实训操作:
需在
操作方法与“任务一 ”的操作一致,在此不再赘述。注意:操作时,“任务二”中操作,不然会导致实训内容不正确。
任务三“类别比较图表”之条形图
点击任务三按钮,进入“类别比较图表"之条形图,如图1-8。
图1-8 “类别比较图表”之条形图
在任务三中,对市场的上架品牌进行分析,确定行业领头羊,为以后的经典 分析与学习奠定基础。
(一)实验讲解:
1. 理论部分
(1)简介
条形图与柱形图类似,几乎可以表达相同多的数据信息。在条形图中,类别 型或序数型变量映射到纵轴的位置,数值型变量映射到矩形的宽度。条形图的柱 形变为横向,从而导致与柱形图相比,条形图更加强调项目之间的大小对比。尤 其在项目名称较长以及数量较多时,采用条形图可视化数据会更加美观、清晰, 如下图所示。
(b)多数据系列条形图
(d)百分比堆积条形图
ok …j
0W20
Franc* .
8many・—occok,sw*dm-—0 ft W ISRenwns(a)单数据系列条形图
(c)堆积条形图
(2) Python绘制条形图
用matplotlib包绘制的条形图中,使用pit. barh ()函数替代柱形图绘制 函数pit. bar (),其他语法与柱形图的绘制基本一致,只是X轴变成数值型坐 标,而Y轴变成类别型坐标。
参数
接收值
说明
默认值
y
array
y轴的数值
width
array
x轴的数值
alpha
float
条形的颜色透明度;
1
height
float
条形的宽度;
0.8
color
(facecolor)
string
条形填充的颜色;
随机色
edgecolor
string
条形边缘颜色
None
label
string
图例名称,解释每个图像代 表的含义
None
linewidth
(linewidths /
Iw)
数值
边缘or线的宽度
1
2. 实验设计
(1)导入库和数据
导入mat plot lib库、pyplot模块,由于matplotlib库默认不显示中文, 使用rcparam参数解决matplot中中文乱码,然后读取服务器中内置的csv格式 的“淘宝兰花数据集”。
(2)设置轴数据
将“评论数"作为X轴变量,将“品牌”作为Y轴变量,统计每一品牌的 评论数,对数据进行排序,并选取前20的数据。
(3)创建画布与子图(条形图)
创建画图的画布,并在画布中添加条形图。
(4)设置图形元素
对条形图的标题、横纵坐标轴轴标题进行命名,设置横坐标刻度文字的显 示效果。
(5)生成图片
设置生成图片的路径和名称,生成图片。
(6)可视化分析
通过下图可知,购买人数较多且评论数量多的前20个品牌(店铺)如下图 显示,在后续的选品、店铺装修、店铺活动等可参照行业标杆。
条形图评论数
(二)实训操作:
操作方法与“任务一"的操作一致,在此不再赘述。注意:操作时,需在
“任务三”中操作,不然会导致实训内容不正确。
任务四“类别比较图表”之词云图
点击任务四按钮,进入“类别比较图表"之词云图,如图1-9O此的if I开发语言:Python •图1-9词云图分析
在任务四中,对兰花商品的功能进行分析,通过对“功能"描述进行词云分 析,了解市场中客户对兰花的功能需求。
(一)实验讲解:
1. 理论部分
(1)简介
词云图是通过使每个字的大小与其出现频率成正比,显示不同单词在给定文 本中的出现频率,然后将所有的字词排在一起,形成云状图案,也可以任何格式 排列:水平线、垂直列或其他形状,也可与显示获分配元数据的单词,在词云图 上使用颜色通常都是毫无意义的,主要是为了美观,我们可以用颜色对单词进行 分类或显示另一个数据变量。词云图通常用于网站或博客上,用于描述关键词或 标签,也可用来比较两个不同的文本。
词云图虽然简单易懂,但是有一些重大缺点,①较长的字词会引人注意;② 字母含有很多升部/降部的单词可能会受到人关注;③分析精度不足,较多时候 是为了美观。
(2) Python绘制词云
词云图可以用过wordcloud包的Wordcloud()函数实现,不仅可以实现方形 的词云图,还能借助PIL包的image。函数导入二值化的图像,从而实现不同形 状的词云图。在做中文文本分析时,可以借助jieba包做分词处理,然后使用 Wordcloud()函数做文本的统计分析。
常用参数名称
接收值
说明
默认值
Font_path
string
字体路径
width
int
画布宽度
400像素
height
int
画布高度
200像素
prefer_horizo
ntal
float
词语水平方向排
版出现的频率
0.9
mask
nd-array or None
如果参数为空,
则使用二维遮罩 绘制词云。如果 mask非空,设置
None
的宽高值将被忽 略,遮罩形状被 mask取代。除全 白(#FFFFFF)的 部分将不会绘 制,其余部分会 用于绘制词云
scale
float
按照比例进行放
大画布
1
min_font_size
int (
显示的最小的字
体大小
4
font_step
int
字体步长,如果 步长大于1,会加 快运算但是可能 导致结果出现较 大的误差
1
max_words
number
要显示的词的最
大个数
200
background_co
lo
color value
背景颜色
black
max_font_size
int or None
显示的最大的字
体大小
None
2. 实验设计
(1)导入库和数据
导入wordcloud库与jieba库,然后读取服务器中内置的csv格式的“淘宝 兰花数据集”。
(2)设置待分析数据
选择“功能”为分析字段,对语句进行切分
(3)词云图参数设置
添加词云绘图函数,设置词云的背景颜色与宽高
(4)词云图片设置
将词云图按精确模式输出
(5)生成图片
设置生成图片的路径和名称,生成图片。
(6)可视化分析
从产品的词云可知,商家在宣传时,都喜欢使用“美观"、"提神"、“防 辐射”、“去甲醛"等字眼,说明大多数商家对客户分析时,都得出过客户较为 关注这些产品。
x长
趣忒净:甲奠 加湿¥ nII
II
II
II
她驱蚊防辐身
(二)实训操作:
操作方法与“任务一 ”的操作一致,在此不再赘述。注意:操作时,需在
“任务四”中操作,不然会导致实训内容不正确。
任务五“时间序列图表”之折线图点击任务五按钮,进入“时间序列图表"之折线图,如图1-10。
图1-10折线图
在任务五中,对消费者的兰花品种偏好进行分析,通过折线图查找兰花种类 与购买人数的关系,从而查看各类兰花的购买人数分布情况。
(一)实验讲解:
1. 理论部分
(1)简介
折线图(linechart)用于在连续间隔或时间跨度上显示定量数值,最常用 来显示趋势和关系(与其他折线组合起来)。此外,折线图也能给出某时间段内 的整体概览,看看数据在这段时间内的发展情况。要绘制折线图,先在笛卡儿坐 标系上定出数据点,然后用直线把这些点连接起来。
在折线图中,X轴包括类别型或者序数型变量,分别对应文本坐标轴和序数 坐标轴(如日期坐标轴)两种类型;Y轴为数值型变量。折线图主要应用于时间 序列数据的可视化。(a)为双数据系列折线图,X轴变量为时序数据。
在散点图系列中,曲线图(带直线而没有数据标记的散点图)与折线图的图 像显示效果类似。在曲线图中,X轴也表示时间变量,但是必须为数值格式,这 是两者之间最大的区别。所以,如果X轴变量为数值格式,则应该使用曲线图, 而不是折线图来显示数据。
在折线图系列中,标准的折线图和带数据标记的折线图可以很好地可视化数目录一、“案例五单项实训-数据可视化"1任务一 “类别比较图表"之柱形图1
(一)实验讲解:1
(二)实训操作:4任务二“类别比较图表”之堆积柱形图6
(一)实验讲解:7
(二)实训操作:9任务三“类别比较图表"之条形图9
(-)实验讲解:10
(二)实训操作:13任务四“类别比较图表"之词云图13
(一)实验讲解:14
(二)实训操作:16任务五“时间序列图表"之折线图17
(一)实验讲解:17
(二)实训操作:20任务六 “数据关系图表"之散点图20
(一)实验讲解:21
(二)实训操作:24任务七 “数据分布图表"之直方图24
(一)实验讲解:25
(二)实训操作:28任务八 “数据分布图表"之箱线图28
(一)实验讲解:29
(二)实训操作:32任务九“局部整体图表”之饼图32
(一)实验讲解:33
(二)实训操作:36
据。因为图表的三维透视效果很容易让读者误解数据,所以不推荐使用三维折线 图。另外,堆积折线图和百分比堆积折线图等推荐使用相应的面积图,例如,堆 积折线图的数据可以使用堆积面积图绘制,展示的效果将会更加清晰和美观。
(b)面积图
(a)纯色填充
多数据系列图
(b)颜色映射填充
(2) Python绘制折线图
使用matplotlib包中的pit. plot函数和pit. fill_betwecn()函数可以绘
制折线图。
Plot。函数常用参数包括:
常用参数
接收值
说明
默认值
*args
array
x轴与y轴对应的数据;
color
string
表示折线的颜色;
None
marker
string
表示折线上数据点处的类型;
None
linestyle
string
表示折线的类型;
——
linewidth
数值
线条粗细:linewidth=l. =5. =0. 3
1
alpha
0~1之间的小数
表示点的透明度;
None
label
string
数据图例内容:label='实际数 据,
None
2. 实验设计
(1)导入库和数据
导入matplot lib库与pyplot模块,由于matplot lib库默认不显示中文, 使用rcparam参数解决matplot中中文乱码,然后读取服务器中内置的csv格式 的“淘宝兰花数据集"o
(2)设置轴数据
选定用于分析的横纵坐标数据,将“植物品种”设为X轴,“付款人数”设 为Y轴,对“植物品种”进行分组并统计每种类别的“付款人数"总和,对统计 数据进行排序。
(3)创建画布与子图(折线图)
创建画图的画布,并在画布中添加折线图。
(4)设置图形元素
对折线图的标题、横纵坐标轴轴标题进行命名,显示数据标签,设置横坐 标刻度文字的显示效果。
(5)生成图片
设置生成图片的路径和名称,生成图片。
(6)可视化分析
通过对植物品种进行分析,从折线图可知,除了兰花和其他这两没有指向性 的描述外,销售比较好的品种主要是蝴蝶兰,在选品时可重点考虑该品种。
折线图必龄多戒善多吵罗萨萨彳W禧萨嚓底航翌
植物品种
(二)实训操作:
操作方法与“任务一"的操作一致,在此不再赘述。注意:操作时,需在 “任务五”中操作,不然会导致实训内容不正确。
任务六 “数据关系图表”之散点图
点击任务六按钮,进入“数据关系图表"之散点图,如图1-11。
图1-11散点图分析
在任务五中,对消费者的价格区间偏好进行分析,通过散点图分析价格与付 款人数的关系。
(一)实验讲解:
1. 理论部分
(1) 简介
散点图 (scatter graph, point graph, X~Y plot, scatter chart 或者 scattergram)是比较常见的图表类型之一,通常用于显示和比较数值。散点图 使用一系列的散点在直角坐标系中展示变量的数值分布。在二维散点图中,可以 通过观察两个变量的数据分析,发现两者的关系与相关性,如图5-1-1所示。 散点图可以提供3类关键信息:①变量之间是否存在数量关联趋势;②如果存 在关联趋势,那么是线性还是非线性的;③观察是否存在离群值,从而分析这 些离群值对建模分析的影响。
回归线变量4
通过观察散点图上数据点的分布情况,我们可以推断出变量间的相关性。如果变量之间不存在相互关系,那么在散点图上就会表现为随机分布的离散的点, 如果存在某种相关性,那么大部分的数据点就会相对密集并以某种趋势呈现。数 据的相关关系主要分为:正相关(两个变量值同时增长)、负相关(一个变量值 增加、另一个变量值下降)、不相关、线性相关、指数相关等,表现在散点图上 的大致分布如图5-1-2所示。那些离点集群较远的点我们称为离群点或者异常点
(outliers)。
作为自变量的因素与作为因变量的预测对象是否有关,相关程度如何,以及
判断这种相关程度的把握性多大,就成为进行回归分析必须要解决的问题。进行相关分析,一般要求出相关关系,以相关系数的大小来判断自变量和因变量的相关程度:强相关、弱相关和无相关等。
关程度:强相关、弱相关和无相关等。
强相关弱相关无相关
Cov(X,K)
皿灯•伽丫)
上式中,Cov (X, Y)为X, Y的协方差,D (X)、D (Y)分别为X、Y的方 差。散点图经常与回归线(line of best fit,就是最准确地贯穿所有点的线) 结合使用,归纳分析现有数据实现曲线拟合,以进行预测分析。对于那些变量之 间存在密切关系,但是这些关系又不像数学公式和物理公式那样能够精确表达 的,散点图是一种很好的图形工具。但是在分析过程中需要注意,这两个变量之 间的相关性并不等同于确定的因果关系,也可能需要考虑其他的影响因素。
(2) Python绘制散点图
在python中,可以使用mat li bp lot库中的scttert ()绘制散点图,还可以使用seaborn库的sctterplot ()绘制,在该任务中,使用matplotlib模块中的 scatter函数,先来看一下scatter函数的基本信息。
scatter ()的常用参数:
常用参数名称
接收值
说明
默认值
X
array
表示X轴数据
y
array
表示y轴数据
marker
MarkerStyle
标记样式
reParams["scatte
r. markern](默认 值:5)
c
特定string或者包 含颜色字符串的 array
标记颜色
None
linewidths
数值
边缘or线的宽度
1
alpha
float
柱形图的颜色透
明度
1
2, 实验设计
(1) 导入库和数据
导入matplotl ib库与pyplot模块,由于matplotl ib库默认不显示中文, 使用rcparam参数解决matplot中中文乱码,然后读取服务器中内置的csv格式 的“淘宝兰花数据集"O
(2) 设置轴数据
选定用于分析的横纵坐标数据,将“付款人数”设为X轴、“价格”设为Y 轴。
(3) 创建画布与子图(散点图)
创建画图的画布,并在画布中添加散点图
(4) 设置图形元素
对散点图的标题、横纵坐标轴轴标题进行命名。
(5)生成图片
设置生成图片的路径和名称,生成图片。
(6)可视化分析
从价格与付款人数的散点关系图来看,大部分的付款产品价格都集中在0-25元这一区间,也就是说店铺的产品定价最好也在该区间,考虑利润问题, 在选品时应考虑成本要低于该区间。
(二)实训操作:
操作方法与“任务一 ”的操作一致,在此不再赘述。注意:操作时,需在 “任务六”中操作,不然会导致实训内容不正确。
任务七 “数据分布图表”之直方图
点击任务七按钮,进入“数据分布图表"之直方图,如图1-120图1-12直方图分析
在任务七中,对兰花的定价进行分析,通过直方图统查看价格的分布。
(一)实验讲解:
1. 理论部分
(1)简介
统计直方图(histogram)形状类似柱形图,却有着与柱形图完全不同的含 义。统计直方图涉及统计学的概念,首先要从数据中找出它的最大值和最小值, 然后确定一个区间,使其包含全部测量数据,将区间分成若干个小区间,统计测 量结果出现在各个小区间的频数M,以测量数据为横坐标,以频数M为纵坐标, 划出各个小区间及其对应的频数。在平面直角坐标系中,横轴上标出每个组的端 点,纵轴表示频数,每个矩形的高代表对应的频数,我们称这样的统计直方图为 频数分布直方图。
所以统计直方图的主要作用有:①能够显示各组频数或数量分布的情况;易于显示各组之间频数或数量的差别,通过直方图还可以观察和估计哪些数 据比较集中,异常或者孤立的数据分布在何处。
统计直方图的基本参数:①组数,在统计数据时,我们把数据按照不同的 范围分成几个组,分成的组的个数称为组数;②组距,每一组两个端点的差;频数,分组内的数据元的数量除以组距。
cnoo
Ayscep
MXSPD
(al)单数据系列统计直方图
203040
MXSPD
(bl)单数据系列核密度估计图
(a2)多数据系列统计直方图
•
00
4 -Un8
•O
0.15-
0.10-
0.05-
0.00-
(b2)多数据系列核密度估计图
(2) Python绘制直方图
matplotlib包提供了 hist ()函数可以绘制直方图。
hist ()函数常用参数包括:
参数名称
接收值
说明
默认值
X
array
表示x轴数据。
bins
array
表示分组数量
None
range
0-1之间的float
指定直方图宽度
0.8
density
特定string或者 包含颜色字符串 的 array
表示直方图颜色
None
weights
('center', 'edge'}
对齐方式,
'center*:使基准在x位置 居中。
'edge':将条形图的左边缘 与X位置对齐。
要对齐右边缘的条,请传递
center
负宽度和 align=' edge'
histtpe
(' bar
'barstackedr, 'step',
'stepfilled'}
要绘制的直方图的类型
'bar'是传统的条形直方图。如 果给出多个数据,则条形图并排 排列。
<barstacked,是一种条形直方 图,其中多个数据相互堆叠。 ,step*生成默认情况下未填充的 线图。
'stepfilled'生成默认情况下已 填充的线图。
'bar'
rwidth
float或无
条的相对宽度是箱宽度的一部 分。如果为None,则自动计算宽 度。
None
2. 实验设计
(1)导入库和数据
导入ma tp lot lib库与pyplot模块,由于matplotlib库默认不显示中文, 使用rcparam参数解决rnatplot中中文乱码,然后读取服务器中内置的csv格式 的“淘宝兰花数据集”。
(2)设置轴数据
选定用于分析“价格”数据。
(3)创建画布与子图(直方图)
创建画图的画布,并在画布中添加直方图,设置直方图的分组个数为20。
(4)设置图形元素
对直方图的标题、横纵坐标轴轴标题进行命名,显示数据标签。
(5)生成图片
设置生成图片的路径和名称,生成图片。
(6)可视化分析
通过对兰花价格进行直方图处理,可知产品定价主要分布在0T0元,结合 前面的价格和付款人数的相关分析,可知,店家在进货时,可考虑除去利润后成 本应控制在哪个范围。
一、“案例五单项实训-数据可视化"
任务一 “类别比较图表”之柱形图
在【案例选择】下拉列表中,选择“案例五单项实训-数据可视化”,点击任务一按钮,进入“类别比较图表"之柱形图任务,如图
任务一按钮,进入“类别比较图表"之柱形图任务,如图
任务一按钮,进入“类别比较图表"之柱形图任务,如图
任务一按钮,进入“类别比较图表"之柱形图任务,如图
■事
(D S Q ® :•* O
M JfMimi/h.的大数就垛口分的由楸仿门系埃。
*UK°(球图1-1柱状图分析
在任务一中,分析哪些类别的兰花比较畅销,通过对不同类别的兰花的销量 统计,查找出产销的品类。
(一)实验讲解:
1. 理论部分
(1)简介
柱形图用于显示一段时间内的数据变化或显示各项之间的比较情况。在柱形 图中,类别型或序数型变量映射到横轴的位置,数值型变量映射到矩形的高度。 控制柱形图的两个重要参数是:“系列重叠''和“分类间距"。“分类间距"控 制同一数据系列的柱形宽度,数值范围为[0.0, 1.0]; “系列重叠"控制不同数 据系列之间的距离,数值范围为[-1.0, 1.0] o柱形图包括单数据系列柱形图、 多数据系列柱形图、堆积柱形图和百分比堆积柱形图共4种常见类型。但是,绘 制柱形图和条形图系列的最大潜在问题就是排序。
直方图(二)实训操作:
操作方法与“任务一 ”的操作一致,在此不再赘述。注意:操作时,需在 “任务七”中操作,不然会导致实训内容不正确。
任务八“数据分布图表”之箱线图
点击任务八按钮,进入“ “数据分布图表"之箱线图,如图1T3。
益
S)开发语言:Python ■|«图1-13箱线图分析
在任务八中,对商城中的兰花定价进行分析,通过箱线图分析价格的分布规 律,从而指导店铺兰花的定价。
(一)实验讲解:
1.理论部分
(1) 简介
箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数 据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用,常 见于品质管理。它主要用于反映原始数据分布的特征,还可以进行多组数据分布 特征的比较。箱线图的绘制方法是:先找出一组数据的最大值、最小值、中位数 和两个四分位数;然后,连接两个四分位数画出箱子;再将最大值和最小值与箱子 相连接,中位数在箱子中间。通过数据的四分位数来展示数据的分布情况。例如: 数据的中心位置,数据间的离散程度,是否有异常值等。
Scale100 -n90 -
80 -
70-
60-
50-
40 一
30-
20 -
10-
0 _
90 -
80 -
70-
60-
50-
40 一
30-
20 -
10-
0 _
90 -
80 -
70-
60-
50-
40 一
30-
20 -
10-
0 _
90 -
80 -
70-
60-
50-
40 一
30-
20 -
10-
0 _
90 -
80 -
70-
60-
50-
40 一
30-
20 -
10-
0 _
90 -
80 -
70-
60-
50-
40 一
30-
20 -
10-
0 _
pper Extreme
pper Quartile
Median
Lower Quartile
Whisker
Lower Extreme Outlier/single data point
四分位间距(Interquartilerange(1QR))=上分位数(upper quartile)-下分 位数(lower quartile)
箱线图分为两部分,分别是箱(box)和须(whisker) o箱(box)用来表示从第 一分位到第三分位的数据,须(whisker)用来表示数据的范围。
箱线图从上到下各横线分别表示:数据上限(通常是Q3+1.5TQR),第三分位 数(Q3),第二分位数(中位数),第一分位数(Q1),数据下限(通常是Q l-1.5IQR)o
有时还有一些圆点,位于数据上下限之外,表示异常值(outliers) o
(注:如果数据上下限特别大,那么whisker将显示数据的最大值和最小值。)
(2)Python绘制箱形图
在Python中,可以使用seaborn库中的boxplot函数与matplotlib库中的 boxplot函数都可以绘制箱线图,在这里主要使用matplotlib库中的boxplot 函数绘制。
Boxplot函数常用参数:
参数
接收值
说明
默认值
X
array
指定要绘制箱线图的数据;
notch
bool
是否是凹口的形式展现箱线图
False
sym
str
指定异常点的形状
None
vert
bool
True,绘制垂直框。False,绘制水平 框。
True
whis
float 或
(float, float)
指定上下须与上下四分位的距离
1.5
positions
int
指定箱线图的位置
None
widths
float
指定箱线图的宽度
0. 5
patch_artis
t
bool
是否填充箱体的颜色;
False
showmeans
bool
是否显示均值
False
showcaps
bool
是否显示箱线图顶端和末端的两条线
True
showbox
bool
是否显示箱线图的箱体
True
showfliers
bool
是否显示超出上限的异常值。
True
2. 实验设计
(1)导入库和数据
导入matplotlib库与pyplot模块,由于matplotlib库默认不显示中文, 使用rcparam参数解决matplot中中文乱码,然后读取服务器中内置的csv格式 的“淘宝兰花数据集"。
(2)设置轴数据
选定用于分析的“价格"数据,并对价格进行排序,统计价格字段的四分之 一位数、四分之三位数、中位数以及上下限数值。
(3)创建画布与子图(箱线图)
创建画图的画布,并在画布中添加箱线图。
(4)设置图形元素
对箱线图的标题、横纵坐标轴轴标题进行命名,输出箱线图中的四分之一 位数、四分之三位数、中位数以及上下限数值。
(5)生成图片
设置生成图片的路径和名称,生成图片。
(6)可视化分析
通过对价格的箱线图分析,可知产品价格在0-50之间,其他范围内的价格 都被视为了异常值。
箱线图
200 -
175-
150 -
125 -
100 -
75 -
50-
25 -
0-
ooo o ©O 0 00^1 I
开发语言:Python ■
N出取事
数据上限:200.0第三分位数(Q3) :23.0 第二分位数(中位数):10.0 第一分位数(Q1) :7.0
数据下限:1.01
价格(二)实训操作:
操作方法与“任务一 ”的操作一致,在此不再赘述。注意:操作时,需在 “任务八”中操作,不然会导致实训内容不正确。
任务九“局部整体图表”之饼图
点击任务九按钮,进入“局部整体图表"之饼图,如图l-14o
图1-14饼图分析
在任务九中,分析消费者对兰花的属性偏好,通过饼图查看消费者对产品是 否包含花苞/花箭的消费人数。
(一)实验讲解:
1. 理论部分
(1)简介
饼图(pie chart)被广泛地应用在各个领域,用于表示不同分类的占比情 况,通过弧度大小来对比各种分类。饼图是将一个圆饼按照分类的占比划分成多 个区块,整个圆饼代表数据的总量,每个区块(圆弧)表示该分类占总体的比例 大小,所有区块(圆弧)的加和等于100%。
饼图可以很好地帮助用户快速了解数据的占比分配,它的主要缺点如下。
(1)饼图不适用于多分类的数据,原则上一张饼图不可多于9个分类。因 为随着分类的增多,每个切片就会变小,最后导致大小区分不明显,每个切片看 上去都差不多大小,这样对于数据的对比是没有什么意义的。
(2)相比具备同样功能的其他图表(比如百分比堆积柱形图、圆环图), 饼图需要占据更大的画布空间。所以饼图不适合用于数据量大的场景。
(3)当很难对多个饼图之间的数值进行比较时,可以使用百分比堆积柱形 图或者百分比堆积条形图替代。
(4)不适合多变量的连续数据的占比可视化,此时应该使用百分比堆积面 积图展示数据,比如多变量的时序数据。
排序问题
在绘制饼图前一定注意把多个类别按一定的规则排序,但不是简单地升序或 者降序。人们在阅读材料时一般都是从上往下,按顺时针方向的。所以千万不要 把饼图的类别数据从小到大,按顺时针方向展示。因为如果按顺时针或者逆时针 的顺序由小到大排列饼图的数据类别,那么最不重要的部分就会占据图表最显著 的位置。
MGM
(24 18%)
(b)
(C)
MGM
SJM (5231%)
(d)
(2) Python绘制饼图
使用matplotlib包中的pie ()
函数可以绘制饼图,但是在绘制前要先对
数据进行降序处理,再使用pie ()函数绘制饼图。
pie ()函数常用参数包括:
参数
接收值
说明
默认值
X
array
指定绘图的数据;
explode
array
数组指定偏移每个楔形的半径的数,即饼 图某些部分的突出显示,呈现爆炸式;
None
labels
list
为饼图添加标签说明,类似于图例说明;
None
colors
array
指定饼图的填充色;
None
autopct
None or str or callable
自动添加百分比显示,可以采用格式化的 方法显示;
None
petdistance
float
设置百分比标签与圆心的距离;
0.6
shadow
bool
是否添加饼图的阴影效果;
False
labeldistan
ce
float or
None
设置各扇形标签(图例)与圆心的距离;
1. 1
startangle
float,
设置饼图的初始摆放角度;
0
radius
float,
设置饼图的半径大小;
1
countercloc k
bool
是否让饼图按逆时针顺序呈现;
True
wedgeprops
diet
设置饼图内外边界的属性,如边界线的粗 细、颜色等;
None
textprops
diet
设置饼图中文本的属性,如字体大小、颜 色等;
None
center
(float, float)
指定饼图的中心点位置,默认为原点
(0, 0)
frame
bool
是否要显示饼图背后的图框,如果设置为 True的话,需要同时控制图框x轴、y轴 的范围和饼图的中心位置;
False
2, 实验设计
(1) 导入库和数据
导入matplotlib库与pyplot模块,由于matplotlib库默认不显示中文, 使用rcparam参数解决matplot中中文乱码,然后读取服务器中内置的csv格式 的“淘宝兰花数据集"。
(2) 设置数据
选定用于分析的“付款人数”数据,将数据按照“是否包含花苞/花箭”进 行分组,统计每一类别的付款人数总和。
(3) 创建画布与子图(饼图)
创建画图的画布,并在画布中添加饼图。
(4) 设置图形元素
对饼图的标题进行命名,显示图例名,设置横坐标刻度文字的显示效果。
(5) 生成图片
设置生成图片的路径和名称,生成图片。
(6) 可视化分析
通过对拼图的分析可知,大部分的用户都选择购买了不带花苞/花箭的兰花 产品,这与前面的分析结果一致,佐证了用户对与不带花苞/花箭这一类型兰花 产品的偏爱。
饼图否.否是
(二)实训操作:
操作方法与“任务一 ”的操作一致,在此不再赘述。注意:操作时,需在
“任务九”中操作,不然会导致实训内容不正确。
(2) Python绘制柱形图
(d)百分比堆积柱形图
使用matplotlib提供的bar()函数绘制柱状图。
Bar函数的常用参数:
参数
接收值
说明
默认值
X
array
x轴数据;
height
array
柱形图的高度,也就是y轴的数 值;
alpha
float
柱形图的颜色透明度;
1
width
float
柱形图的宽度;
0.8
color
(facecolor)
string
柱形图填充的颜色;
随机色
edgecolor
string
图形边缘颜色
None
label
string
图例名称,解释每个图像代表的
含义
无
linewidth
(linewidths /
Iw)
数值
边缘or线的宽度
1
2. 实验设计
(1)导入库和数据
导入matplotlib库与pyplot模块,由于matplotlib库默认不显示中文, 使用rcparam参数解决matplot中中文乱码,然后读取服务器中内置的csv格式 的“淘宝兰花数据集"。
(2)设置轴数据
选定用于分析的横纵坐标数据,将“植物类别"设为X轴,“付款人数”设 为Y轴,对“植物类别"进行分组并统计每种类别的“付款人数”总和。
(3)创建画布与子图(柱形图)
创建画图的画布,并在画布中添加柱形图
(4)设置图形元素
对柱形图的标题、横纵坐标轴轴标题进行命名,显示数据标签,设置横坐 标刻度文字的显示效果。
(5)生成图片
设置生成图片的路径和名称,生成图片。
(6)可视化分析
通过下图可知,购买人数多的为草本花卉类型的产品,但是根据花卉的分类, 兰花原就属于草本花卉,属于草本花卉分类下的宿根花卉。但是其他品种也是销 量的,因此,通过分析应该进行数据反查,可通过在电商商城查看其他类别的的 兰花是什么,为何包含在其他分类中。
柱形图
120000 -
100000 -
80000 -
60000 -
40000 -
20000 -
(二)实训操作:
1.添加项目
① 点击【新建】按钮,新增项目,系统加载一个“未命名"项目。②单击选 中项目,鼠标右键
展开阅读全文