本课程共七个章节,课程地址:7周成为数据分析师(完结)_哔哩哔哩_bilibili
- 数据分析思维
- 业务知识
- Excel
- 数据可视化
- SQL
- 统计学
- Python
第四周:数据可视化(P43-P60)
- 数据可视化之美
- 常见的初级图表
- 常见的高级图表
- Excel 图表绘制
- 可视化BI
目录
第四周:数据可视化(P43-P60)
一、数据可视化之美
二、常见的初级图表
(一)图表的基础概念
(二)散点图(变种:气泡图、单轴散点图)
(三)折线图(变种:面积图)
(四)柱形图(变种:直方图、正负比例柱形图、翻转正负比例条形图、堆积柱形图、瀑布图)
(五)饼图(变种:玫瑰图)
(六)漏斗图
(七)雷达图
三、常见的高级图表
(一)树形图
(二)桑基图
(三)热力图
(四)关系图
(五)箱线图
(六)标靶图/子弹图
(七)词云图
(八)地理图
四、Excel 图表绘制
(一)配色
(二)条形图
(三)散点图(辅助线-趋势线)
(四)环形图/旭日图(辅助列的妙用)
(五)漏斗图(辅助列的妙用)
(六)组合图
(七)甘特图(辅助线-误差线)
(八)标靶图/子弹图(辅助线-误差线)
(九)杜邦分析法dashboard
五、可视化BI
(一)BI
(二)餐饮案例
(三)招聘案例
(四)Dashboard的布局和设计
一、数据可视化之美
数据可视化:
- 目的是让数据更高效
- 让读者更高效阅读,而不单是自己使用
- 突出数据背后的规律
- 突出重要的因素
- 最后是美观
二、常见的初级图表
(一)图表的基础概念
- Dimension(维度):描述分析的角度和属性,分类数据(时间、地理位置、产品类型等)
- Measure(度量):具体的参考数值,数值数据(元、销量、销售金额等)
(二)散点图(变种:气泡图、单轴散点图)
1. 散点图
2. 气泡图
3. 单轴散点图
客户消费维度(RFM模型):
- 消费金额和消费次数的关系
- 消费金额和最后一次距今消费天数的关系
- 消费次数和最后一次距今消费天数的关系
客户其他消费维度:
- 消费金额和消费折扣的关系
- 消费金额和会员积分的关系
- 消费次数和会员距离的关系
垂直领域消费维度:
- 投资金额和投资次数的关系(金融)
- 最近一次距今消费和使用次数(SaaS)
(三)折线图(变种:面积图)
1. 折线图
2. 面积图
(四)柱形图(变种:直方图、正负比例柱形图、翻转正负比例条形图、堆积柱形图、瀑布图)
1. 柱形图
2. 直方图
3. 其他
(五)饼图(变种:玫瑰图)
1. 饼图
可以理解为环状的柱形图
- 饼图的类别不宜过多
- 除了PPT,分析时没啥用
- 维度:1,度量:1
2. 玫瑰图
(六)漏斗图
(七)雷达图
三、常见的高级图表
(一)树形图
(二)桑基图
(三)热力图
(四)关系图
(五)箱线图
(六)标靶图/子弹图
(七)词云图
(八)地理图
四、Excel 图表绘制
数据可视化从大的概念上来讲主要分为两类:
1. 信息图:一张图读懂xxx
2. 数据图表(分析型)
例:
对安卓和 iOS 两列做二维折线图(插入里):
因为促销活动提前释放掉了用户的购买力,导致活动结束后的销量会跌到谷底(比平常还低),从而基数变小,后续慢慢的恢复造成的波动就会很剧烈。而 iOS 的表现比较平缓,没有剧烈的大跌,所以后续的上扬也看不太出来,且相比安卓有一定的延后
(一)配色
color.adobe.com
(二)条形图
- 插入 - 二维柱形图
- 对全表:开始 - 填充 - 白色
- 对图表:右键 - 设置绘图区格式 - 无填充 - 边框无线条
(三)散点图(辅助线-趋势线)
例1:
1. 插入 - 散点图
2. 如何通过移动坐标轴的方式将数据划分为四个象限
- 注意,这里选定一个坐标轴,设定坐标轴值的时候,是移动另一坐标轴
- 坐标轴值也可以使用数据列的平均值或中位数等
并对数据进行升序排列,最后结果如下:
3. 不同象限赋予不同颜色
右键 - 选择数据 - 添加 - 按照不同的 label 框定区域
最后结果如下:
例2:
添加趋势线:
若点与点之间存在规律性,则 “显示公式” 就可以显示出规律是多少
(四)环形图/旭日图(辅助列的妙用)
旭日图:体现一些类目数据(如一级类目、二级类目)之间的依赖关系
添加辅助列,对以下四列:插入-环形图
(五)漏斗图(辅助列的妙用)
场景一:注重转化结果(有多少人剩下来)
对参与人数列:插入-条形图
对y轴:
辅助列1和辅助列2(只是起填充的作用)的值:
对操作、辅助列1、参与人数、辅助列2:插入 - 二维条形图(第2个:堆积条形图)
点击y轴:设置数据系列格式-坐标轴选项-勾上逆序类别
再把蓝色和灰色部分设置为无填充即可
场景二:表示缺失(在每一步上转化率差了多少)
- 辅助列3的值:上一步的参与人数-这一步的参与人数
- 对操作、参与人数、辅助列3:插入 - 二维条形图(第2个:堆积条形图)
- 点击y轴:设置数据系列格式-坐标轴选项-勾上逆序类别
(六)组合图
例1:
对日期和安卓两列:插入-二维折线图
增加累加列(今天销量与前一天销量的和):
对二维折线图:右键-选择数据-添加-选择累加列
点击橙色这条线-系列选项-次坐标轴
点击蓝色的线:右键-更改系列图表类型
环比列:
右键 - 选择数据 - 添加 - 选择环比列
将边界的最小值和最大值范围扩大,会使折线变得更加平缓(小技巧)
例2:
- 插入-二维条形图-堆积条形图
- 选定蓝色部分 - 次坐标轴
- 将蓝色部分往右压缩,橙色部分往左压缩:
插入人像:
插入后改成堆积
整体效果如图:
(七)甘特图(辅助线-误差线)
甘特图:项目管理中用来可视化进度
例1:
对项目分解、开始时间、需要天数三列:插入-二维条形图-堆积条形图
对上图:右键 - 选择数据 - 添加:开始时间列 - 水平(分类)轴标签:项目分解列
点击y轴:坐标轴选项 - 逆序类别,再把橙色部分(只是辅助列)改为无填充
点击x轴:
日期趋势线(某天之前的已完成,标记为一个颜色;之后的未完成,标记为另一个颜色):
添加两列:已完成天数、未完成天数(需要天数-已完成天数)
已完成天数:
对项目分解、开始时间、已完成天数、未完成天数四列:插入-二维条形图-堆积条形图
对图:右键 - 选择数据 - 添加:开始时间列 - 水平(分类)轴标签:项目分解列
逆序 - 灰色部分无填充 - 最小值由44790改为44800
加一条日期线:
再加两个辅助列:
右键 - 选择数据 - 添加:today列
添加次坐标轴(对应一个个的点):右键 - 选择数据 - today - 编辑 - x选择today,y选择辅助列
对应次坐标轴添加误差线:
- 点击黄色的那一竖点:图表设计 - 添加图表元素 - 误差线 - 标准误差
- 点击单个黄色点:标记 - 无填充、无线条
末端样式改为无线端,即可去掉短的横线(水平误差线)
例2:
在不少的项目管理场景中,很多实际并不按原本计划的所进行,导致项目的时间产生变动
使用散点图来绘制误差线(散点图带水平和垂直两种误差线):
- 添加辅助列,值为1、2、3、4、5
- 选择计划开始时间和辅助列:插入-散点图-带直线和数据标记的散点图
- 右键 - 选择数据 - 添加 - 名称:计划开始时间 - X值:计划开始时间列 - Y值:辅助列 - 确定
- 双击竖列0123456列,设置坐标轴格式-坐标轴选项-逆序刻度值
- 右键 - 选择数据 - 添加 - 名称:实际开始时间 - X值:实际开始时间列 - Y值:辅助列 - 确定
- 点击灰色的线 - 图表设计 - 添加图表元素 - 误差线 - 标准误差
- 删去垂直的误差线
- 点击水平误差线 - 方向:正偏差、末端样式:无线端,误差量:自定义
- 将横线的宽度改为14磅
- 橙色这条线是“实际开始时间” ,也要在它上面添加误差线,可以与上面已经生成的灰色条形刚好重合,步骤同上,宽度设为8磅
- 将最开始生成的折线(橙色+灰色的折线)全部设置为无线条
最后结果:
最后再将最左边 “0-6竖列” 依次改为 “ 项目环节” 中的 “策划”、“产品研发”、“测试”、“活动上线”、“活动总结”
(八)标靶图/子弹图(辅助线-误差线)
- 先拿地区、general、good、excellent四列:插入-二维条形图-堆积条形图,再将颜色都换成灰色系列
- 右键-选择数据-添加-完成率列
- 对新增加的完成率列部分:右键-更改图表类型-X,Y(散点图)
- 添加辅助列:右键-设置单元格格式
- 对于图中的散点:选择数据 - 对于完成率 - 编辑 - X值:完成率列,Y值:辅助列
- 但它和地区的条形图并没有完全对应上,因为y轴坐标值的范围没有对应上
- 图表设计 - 添加图表元素 - 误差线 - 标准误差 - 删去垂直的 - 对于水平的:负偏差、无线端
- 宽度调为5磅
- 对于点:标记 - 填充:无填充 - 边框:无线条
怎么添加基准线?
- 右键-选择数据-添加
- 图表设计 - 添加图表元素 - 误差线 - 标准误差 - 删去水平误差线
- 对于垂直误差线:无线端
- 对于短线中间的点:标记 - 无填充、无线条
最后效果:
(九)杜邦分析法dashboard
杜邦分析法:起源于财务和会计领域(结构化思维,金字塔结构)
原始数据 - 中间数据 - 汇总数据(动态,自动更新,直接引用,三张表之间的互相关联)
- 对堆叠表做数据透视:
- 实现两表联动:
- 条件格式 - 数据条:
- 切片的过滤作用:数据透视表分析 - 插入切片器 - 月份
- 环比:值字段设置
- 看到数据月份之间的变化(趋势图):插入 - 折线
- 插入图表:插入-二维柱形图-簇状柱形图
- REPT() 函数:把一个文本重复几次
五、可视化BI
导入:你的图表,是原因,还是现象?
数据分析师在地理图上发现A省B省C省的某个指标下跌了,得出这是上个月数据表现不佳的原因。然而,这是现象,具体原因要结合更深的分析:这些省市经济程度如何、人口如何、有何数据共性,这是地理图不会告诉你的 ——> 单一图表的可视化没有意义,三表成虎
(一)BI
BI:多表关联,把很多数据源进行有机结合,形成可视化图表
下载参考:可视化软件之Power BI的安装与下载_笨笨的张小白的博客-CSDN博客_powerbi下载
Power BI 可以分为五个部分:
- 报表:数据本身是有很多数据来源的,比如用户报表(用户明细,如性别、年龄、注册时间等等),用户行为(销售明细,即什么时间段、花了多少钱、购买了什么商品),商品报表(商品明细,如什么商品、品类、特征等等)
- 模型:报表组合起来就可以抽象为一个模型,表示什么样的用户在什么时候购买了什么样的商品(可以理解为VLOOKUP,把很多字段关联起来)
- 数据清洗:空值、异常、错误
- 可视化图表:趋势 - 折线图,对比 - 柱形图/散点图
- Dashboard:多张图表有机结合,才能解释原因,而不是现象
(二)餐饮案例
整个案例最后的效果:
读取数据推荐导入 csv 格式,而不是Excel:
例:不同城市之间的店铺数量
Power BI里,若某个单元格的值发生变化,或增加了行,使用刷新是可以的;但如果新增了列,使用刷新会报错,此时需要重新导入
重新导入后发现 “店铺ID” 字段前有 ∑ 符号,但其实它是一个分类字段,而不是数值字段
再画一个散点图:
此时两个图之间已经可以形成联动(多维分析利器)
可以简单地看出:大城市的店铺评分是趋于优秀的,而一些二三城市的店铺在环境和服务上表现得较为差劲
筛选器:过滤(如有一些恶意的差评情况可以排除)
- 页面级筛选器:所有dashboard都会有相应变化
- 报告级筛选器:数据源不会改动
柱形图里有恒定线和误差线:
散点图:
- 趋势线:回归分析里常用
- 平均线:可以和象限法相结合
power BI里的多图表联动主要有两点作用:过滤(散点图) & 对比(树形图)
树形图:
选择某个城市后:
如果想使树形图达到过滤的效果呢?即点击某个城市,单纯只显示这个城市的店铺的树形图,而不是将该城市的店铺与全国的店铺进行对比
先点击一下柱形图 - 格式 - 编辑交互
再点击柱形图中的某个城市,发现树形图的效果如下:
点击某图 的意思是,该图不再参与进联动中
切片器:
若想同时选择多个城市:
地图图表:
(三)招聘案例
原始数据(6876个)中,一个岗位对应一行数据(哪怕这几个岗位都是一家公司的,也会分为好几行),较为冗余
将公司信息额外建一张表:
去掉重复数据,最后还剩2296个数据:
从而现在,原始数据被拆分为两个表,分别命名为 company0.csv 和 DataAnalyst0.csv
先导入 DataAnalyst0.csv 进 power BI(点击 “转换数据” 去编辑),并做一些数据清洗工作(最后 “关闭并应用”)
- 将 positionId 和 companyId 改为文本类型
- 去掉 positionLables 外面的列表和引号(右键 - 替换值)
- 将 salary 拆分成两列(拆分列 - 按分隔符)
再导入 company0.csv
power BI 只支持一对一、一对多、多对一,解决不了多对多关系
一个公司可能会招多个数据分析师,即一个companyId对应多个positionId(一对多),而在company表里companyId是唯一值,即一个companyId只对应一行明细数据,无重复
而power BI的要求是,在进行关系关联的过程中,必须得有一张表里面的关联值是唯一的
复制某一列
新建列后输入:
提取salary的上限和下限
法1:函数的方法 find() 函数(同Excel)
法2:右键 - 编辑查询 -替换值(k、以上、以下)
最后把两列salary的类型改为整数
针对空值
power BI 里的函数操作只能针对列,不能针对单元格(如下一个单元格为上一个单元格+1等)
第三方可视化图表
第三方可视化图表:Find the right app | Microsoft AppSource
以词云图为例:
一级品类和二级品类(下钻)
下钻的典型应用:
- 年月日
- 电商产品一级品类、二级品类
- 树形图
右击 firstType - 创建层次结构 - 右击secondType - 添加至层次结构
右击“技术”块 - 向下钻取,即可显示技术下的二级类目
展示所有二级类目:
一级类目和二级类目都展示:
(四)Dashboard的布局和设计
主次分明、贴合场景、指标结构
1. 主次分明
2. 贴合场景
- who 是谁在使用?
- what 用户的目的是什么?监控or分析?
- how 用户怎么使用?可以通过后台监控日志观察用户使用哪个BI次数最多,以此改进
3. 指标结构