数据可视化,可以这样探索(附案例)

Posted 数据化管理

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据可视化,可以这样探索(附案例)相关的知识,希望对你有一定的参考价值。

前两天有位朋友发了我一个表格,想让我画一组图表表达下,数据是描述某单位2017年及2018年各个部门的加班工时统计。


2017年的数据如下:


     

2018年数据如下:


数据可视化,可以这样探索(附案例)

     

2018年比2017年多了一个类别,就是名为“六所”的部门。


看到这组数据,既有类别,又有时序,但是这组数据包含着那些信息,蕴藏着什么模式,仅从观察这两个工作表是很难得出结论的,那么就需要可视化来出手了。


为了探索这组数据背后所包含的信息,那么就需要对这组数据进行横向和纵向的对比,好比对一个物体进行横切和竖切,每一个面都观察到:

比如这个蛋糕:


数据可视化,可以这样探索(附案例)

           

横着切纵着切,所呈现的都是不一样的面貌。


接下来我对这一组数据来进行组合和拆分并可视化。首先为了角度切换的方便,将数据组合成一个一维表:


数据可视化,可以这样探索(附案例)


然后接下来对异常数据进行清洗,发现在部门字段有存在命名不规范的情况,一个类别有两种描述:


数据可视化,可以这样探索(附案例)


我将“六所”统一为“六级研究所”。


接下来使用数据透视表这个利器多角度的去观察这个数据集,通过拖拉操作字段设置,可以将数据透视为如下样式:  


数据可视化,可以这样探索(附案例)

     

也可以切换为如下样式,将岗位作为主类别:


数据可视化,可以这样探索(附案例)

     

将时间放在行标签:


数据可视化,可以这样探索(附案例)

     

数据透视表之所以被称为Excel诞生以来最伟大的发明,就在于其快捷易操作的对于复杂结构的数据集的多角度展示以及众多可自定义的数据显示方式。


为了方便轴标签的摆放,我将x级研究所简化为"x级所",去掉"研究"二字。同时为了遵从习惯排序,以一级所、二级所一直到六级所这么排序编辑一个自定义序列。


可以从上面的几幅数据透视表看出,又属于一个常见的多类别时间序列问题。

我用下面这幅图表指南来指导这些图表类型的选择:


数据可视化,可以这样探索(附案例)


包括以下图表类型:

  • 柱形图

  • 线形图

  • 带数据标记的线形图

  • 偏差柱

  • 偏差线

  • 斜率图

  • 瀑布图

  • 点图

  • 迷你图

  • 循环图

  • 地平线图

  • 面积图

      

接下来通过几个分析角度,挑选一些样式画图。


1、各部门月均加班工时的时间趋势变化


1.1 柱形图


数据可视化,可以这样探索(附案例)

     

为什么不将6个所全部放一个图,因为会很乱:


数据可视化,可以这样探索(附案例)

     

能看出什么趋势么?很难!


1.2 线形图

数据可视化,可以这样探索(附案例)

     

为什么不用一个多线条的线形图,同样的是显得很乱:


数据可视化,可以这样探索(附案例)


一般超过4个系列,就不适合用这种多线条交错的线形图,因为很难分清彼此。


1.3 带数据标记的线形图


数据可视化,可以这样探索(附案例)

              

1.4 偏差柱形图

反映每个月的平均加班工时对比平均值的差异情况:


数据可视化,可以这样探索(附案例)             

以上图表有个需要注意的地方就是,为了方便各部门的横向对比,纵轴的最大最小值都要保持一致,不然就失去了组图的意义。


1.5 偏差线形图

表达方式和偏差柱形图一样,只不过换了一种图表类型。


数据可视化,可以这样探索(附案例)

              

1.6 瀑布图

为了展示每一个所从2017年1月至今的月平均加班工时的变化,也可以用瀑布图来表达:

            

数据可视化,可以这样探索(附案例)

变化一目了然,这种麦肯锡发明的图表形式可以说非常优秀了。


1.7 面积图

前面尝试了用簇状柱形图和多线条的线形图来同时表达多个类别的时间序列,效果都很糟糕,但是有一种图形来一次表达,则显得优雅很多,就是堆积面积图:


数据可视化,可以这样探索(附案例)


可以看出2018年1月份,大家都忙到飞起,加班工时持续上升,而2018年3月份以来,总体呈缓慢下降趋势。


1.8 地平线图

上方的堆积面积图比较适合展示总体的变化趋势,但是对于各细分类别的变化则不够明显(除了最下方的类别),用地平线图则可以解决此问题:


数据可视化,可以这样探索(附案例)

              

一种层峦叠嶂的立体感,非常有特色。

当然,最后还需要一组图来汇总整个单位的月均加班工时的变化:


数据可视化,可以这样探索(附案例)


以上通过对“部门”字段进行聚合,分别使用柱形图、线形图、带数据标记的线形图、偏差柱形图、偏差线形图、堆积面积图、瀑布图以及地平线图的图表形式展示了各部门2017年至今月度平均加班工时的趋势变化。


如果我们通过“岗位”字段进行聚合,去观察各岗位该时段内月平均加班工时的趋势变化,也可以通过以上方式进行展示。


可以发现,以上图形,聚焦于各部门月份变化的绝对值环比变化,如果我们需要比较各部门两年度每月的同比变化,则可以采用如下形式


2、各部门两年度各月份月均加班工时的同比变化

因为六所是2018年新增的部门,所以不具备双年对比的必要;

2017年有1-12月全年的数据,而2018年目前尚只有1-10月的数据,所以在部分图形里,2017年11-12月的数据也不纳入比较范围。

整合后的数据如下图:


数据可视化,可以这样探索(附案例)         


2.1 全单位及各部门各月平均加班工时的双年对比:簇状柱形图


数据可视化,可以这样探索(附案例)


2.2 全单位及各部门各月平均加班工时的双年对比:线形图


数据可视化,可以这样探索(附案例)


2.3 单图代替组图的尝试

以上两种簇状柱形图和簇状线形图是我们表达多类别两时间点同比变化的常用形式,组图展示单一类别趋势明晰,但是由于有多个图,阅读成本较高,信息稍显分散,所以我也通过其它样式去尝试一次展示多个类别的双年对比(同比)。


2.3.1 各部门1-10月月均加班工时的双年对比


数据可视化,可以这样探索(附案例)

每个颜色的散点代表一个部门,每一个散点代表某个部门某个月的两年加班月均工时,2017年的值为x值,2018年的值为y值。

可以看出五级所的系列数据点大部分分布在分界线的上方,表示该部门2018年的加班工时普遍高于2017年,而三级所的加班工时在2018年明显降低了。


2.3.2 各部门全年月均加班工时的双年对比


上图每个点代表某个月份,为了纵观各部门全年月均加班工时的双年对比,以各部门2017年的月均加班工时作为x值,2018年的月均加班工时作为y值,作如下散点图:


数据可视化,可以这样探索(附案例)


相对上图,双年对比更为简洁直观,借助等分线的辅助,哪个部门2018年对比2017年加班更多还是更少,一目了然。


2.3.3 用斜率图表达各部门全年月人均加班工时的双年对比

继续尝试用更多图形表达各部门两年度月人均加班工时的对比,如下斜率图样式:


数据可视化,可以这样探索(附案例)       

2.3.4 用滑珠图表达各部门全年月人均加班工时的双年对比


数据可视化,可以这样探索(附案例)

         


2.3.5 经济学人样式的散点图表达同比

《经济学人》习惯将多个类别的两时间点的对比用下方样式来展示:


数据可视化,可以这样探索(附案例)

数据可视化,可以这样探索(附案例)    

2.3.4到2.35的三幅图,都是散点图的综合应用,展示效果挺优雅,前几天我看到这么一副彭博社的图,觉得也可以应用到这组数据的展示上面:


数据可视化,可以这样探索(附案例)         

通过一系列的辅助系列,也可以将这个图形用于这组数据的表达,下图是展示各单位2018年的月人均加班工时情况:


2.3.6 彭博社样式的散点图表达数据的分布区域:


数据可视化,可以这样探索(附案例)


最后我们来看一下原始数据:


数据可视化,可以这样探索(附案例)

数据可视化,可以这样探索(附案例)


为了深入探索这些数据背后的真相,我通过各种样式的图表从多种维度的展示这两块数据,成果是丰富的、多彩的,其过程也是挣扎的、煎熬的:




以上Excel图表示例文件链接在此,复制到浏览器中可下载:

https://pan.baidu.com/s/1bjyU3qwSeUDgnXhE_ViY9Q


--------------


要学习数据分析,教程必须要有数据思维+业务思维+Excel实操,《数说》栏目就提供这样的学习内容,想学习数据分析的朋友,赶紧加入《数说》,与1000+的同行一起学习、交流、成长吧!



直接点击下面的“阅读原文↓↓↓

↓↓↓登陆订阅《数说》吧↓↓↓

以上是关于数据可视化,可以这样探索(附案例)的主要内容,如果未能解决你的问题,请参考以下文章

数据可视化应用Python学术绘图(附实战案例)

数据可视化应用用Python通过ggplot2实现交互可视化(附Python应用案例)

一文揭秘数据可视化(附视频&资源)

数据可视化应用核密度空间插值实战案例(附Python和R语言代码)

R语言随机森林RandomForest逻辑回归Logisitc预测心脏病数据和可视化分析|附代码数据

R语言数据可视化分析案例:探索BRFSS数据