数据可视化之图表选择指南

一提到“数据可视化”,人们的大脑立马会浮现出各式各样的图表。最基本的有散点图、柱状图、饼状图、折线图,复杂一点的有气泡图、K线图、雷达图、桑基图等,更加复杂还有热力图、南丁格尔玫瑰图、和弦图。每种图都有各自的适用场景,不同的数据,如何选择合适的图表来表达,是本文探讨的主要目的。

首先,我们来看看网络上能找到的一个比较全的图表类目信息。

 

上面罗列的所有图表,去重以后合计39种。其中K线图在趋势类、比较类和时间类都出现了,层叠面积图也在时间类、占比类以及区间类都出现了,说明同一种图表,可以在不同的场合用来传递不同的意义。如此复杂多样的图表,仅仅根据这个基本的分类来决策如何选用它们是远远不够的。在实际操作过程中,想要选出最合适的图表,除了要对这些图表的基本视觉特征都比较熟悉以外,还要反过来从数据本身的角度出发,对数据做定性和定量分析,然后结合表达意图,反复的去套用其中一种或多种,找出视觉效果最直接、实现最低的那一种。

无意中我发现美国的Andrew Abela博士在2006年发布了一篇博客“Choosing a good chart”,给出了“图表选择的终极指南”。其核心内容是一个思维导图,如下图所示:

下面我用白话文把这个思维导图翻译一遍,带着大家走一遍每个分支,看看在决策图表的时候到底需要考虑哪些因素。

第一步:问自己“想要展示什么”?答案会落入四个选项:“数据的对比”、“数据的分布”、“数据之间的关系”以及“数据的组成”。

第二步:定位到其中一个明确目的以后,继续深挖数据的特性以及逻辑关系。

如果是对比类,数据是基于“分类”的对比还是基于“时间”的对比?如果是基于“分类”的,每个分类需要对比的变量是一个还是多个?如果是多个,用“不等宽柱状图”;如果是一个,先看分类信息是否可以再分大类,大类较多的话用“内嵌柱状图的表格”,大类较少的话就用条形图或者柱状图(含堆积柱状图)。如果是基于“时间”来做对比的,要看是基于多周期的对比还是极少周期的对比。如果是多周期的, 循环数据用“雷达图”,非循环数据用“曲线图(折线图)”。基于少数周期的对比,分类较少的话用“柱状图”,分类多的话用“组合曲线图”。

如果是分布类,要看数据的维度,可分为“一维(单变量)”、“二维(双变量,XY轴)”和“三维(三变量,XYZ轴)”分布。单维度的分布,数据点较少的话用“直方图”,数据点很多就用“正太分布图”;二维的数据用“散点图”;三维的数据用“曲面图”。超过三维,无法可视化。

如果是数据组成类,要看数据是动态还是静态的。动态是指数据是随时间变化的。如果是静态数据,想看各类目在整体的占比用“饼状图”,想了解数据的求和或者差值与整体的关系用“瀑布图”,想看每个大类里面小类的占比,可以用“堆积百分比柱状图”。对于动态数据,周期少的话,仅看相对差异用“堆积百分比柱状图”,想同时看到绝对差异用“堆积柱状图(显示绝对值)”。周期多的,看相对差异用“堆积百分比面积图”,同时想看绝对差异用“堆积面积图”。

如果是数据关联类,看两个变量之间的关系用散点图,三个变量之间的关系用气泡图。

这份思维导图给我们提供了一种图表决策的思考模式。还有一些比较复杂的图表虽然没有涉及到,但是只要经过类似的推导(一系列的自问),总会找到合理的启发,最终找出最“心满意足”的图标。

下面这份思维导图的中文版。

关于图表的分类以及每种图表的详细介绍,大家可以前往蚂蚁金服推出的AntV官方网站做更深入的研究。另外,还有在线ChartChooser的网站,提供了各种图表的Excel/PowerPoint模板。

人类如何感知数据

数据,对于计算机而言,只是0和1的汇总,对于人类而言,它承载的更多的是事实。一份数据,所能承载的信息可以分为两类:“量化信息(Quantitavive)”和“分类信息(Categorical)”。人们在面对一份数据时,会不自觉的通过对比和推演,尝试找出数据之间的关系,或者数据变化的趋势,最终形成相应的结论。原始的数据,没有经过整理和转换,人们在“感知”的时候就会非常低效,最后也很难形成结论。所以数据想要被理解,被高效的理解,就需要重新Encode,然后以合适的形式展现出来,这就是数据可视化的过程。

数据可视化的目的是为了方便交流,是作者想要以最低的成本让观众理解数据背后的含义,最终在每个人的大脑里形成一致的观点。数据可视化是数据和艺术设计的结合体,好的作品是内容和美学平衡点。

那么人类是如何通过可视化作品来理解数据呢?下面这个图展示了整个流程,大致来讲是经历三个阶段:感知,解释以及理解。

WechatIMG883

在“感知”这个阶段,人们会尝试去阅读数据,阅读的目的为了弄清楚下面几个问题:

1, 展示了什么数据(分类信息)?
2, 数据量大不大,最小值,最大值,平均值等指标分别是多少(量化信息)?
3, 数据如何对比?
4, 数据之间的关系是什么?

在“解释”这个阶段,人们会结合背景信息以及提示文字,初步形成自己的结论:

1, 数据说明什么问题?
2, 揭示的问题是好还是坏?
3, 数据是否有意义,是否重要?
4, 数据是符合预期还是异常?

在“理解”阶段,人们会思考数据背后的含义,结合自身的业务、领域知识,会尝试去证明自己在上一个步骤对数据的解释是行得通的,然后形成最终的结论。

1, 数据对我(我的业务)有什么意义?
2, 作者想表达主要意图是什么?
3, 我通过数据学到了什么?
4, 我是否该采取行动?

数据可视化的核心永远是“对比”。不管借助何种图形,使用了多少表达手段,可视化的作者的终极目的是想让观众能对数据的某些方面进行“高效的对比”。通过对比不同种类的数据,能发现数据之间的关系;通过对比同类数据不同时间(阶段)的值,能发现数据的发展规律;通过对比,还能发现数据的分布状态、离散程度等。可视化作品,是以图的形式,让人通过视觉处理,使得任何一个维度的“对比”更加简单、清晰,甚至“更有趣”。

在了解了“人类是如何感知数据”以后,我们需要进一步挖掘,有哪些可视化的基本元素可以用来表达数据的“量化信息”和“分类信息”呢?有人可能会说,是不是选择“合适的可视化图表”就好了。答案是任何一种图表都是可视化表达的最终形式,但并不是基本元素。“分类信息”相对来说比较简单,一般通过颜色区分,加上文字标注就能非常精确的传达信息。“量化信息”的表达方式比较多样,早在1985年Cleveland和McGill发表的论文《Graphical Perception and Graphical Methods for Analyzing Scientific Data》就提出来,总共有7种基本元素(也可以称之为途径)来表达数据的量化信息,并且按照顺序从低到高,表达的误差越来越大。

1, Position along a common scale:位置(同一坐标系)
2, Position on identical but nonaligned scales: 位置(不同坐标系)
3, Length:长度
4, Angle or Slope:角度或者斜率
5, Area:面积
6, Volume or Density or Color saturation:体积、密度或者颜色的饱和度
7, Color hue:色彩

制作可视化图表过程,就是将数据转化成上述一种或者多种元素,然后优雅的组织在一起,方便读者以最快的速度、最愉悦的心情读懂作者想表达的意思。

人类感知数据的过程是一个非常复杂的过程。除了上面提到的“数据encode,视觉decode”,还涉及到人类是如何感知图片的。人类似乎天生就具备视觉解码的能力,只是每个人的能力水平不一样。有的人对色彩更敏感,有的人对模式识别更擅长,还有的人对预估(对趋势的预判)更加“直觉”。所谓“一图胜千言”,数据可视化正式借助了人类强大的视觉处理能力来达到“让数据说话”的目的。

Hello, DataXV

DataXV,我对它的定义如下:

Data – BigData, Data Platform;
X – Extreme, Excellent;
V – Valuable, Visualization.

数据是客观的,也有可能是杂乱的。如何让数据说话,体现数据的价值,是本站探索的终极目的。数据驱动增长,数据可视化,数据挖掘等等,有趣,有挑战,欢迎志同道合的人士来一起探讨、积累、成长。

投稿:wp[at]dataxv.io