0%

【书摘】鲜活的数据:数据可视化指南

请记住,数据是现实生活的一种映射,其中隐藏着许多故事,在那一堆堆的数字之间存在着实际的意义、真相和美学。而且和现实生活一样,有些故事非常简单直接,有些则颇为迂回费解。有些故事只会出现在教科书里,而其他一些则体裁新奇。讲故事的方式完全取决于你自己,不管你的身份是统计学家、程序员、设计师还是数据研究者。


更新历史

  • 2016.12.29: 完成初稿

请记住,数据是现实生活的一种映射,其中隐藏着许多故事,在那一堆堆的数字之间存在着实际的意义、真相和美学。而且和现实生活一样,有些故事非常简单直接,有些则颇为迂回费解。有些故事只会出现在教科书里,而其他一些则体裁新奇。讲故事的方式完全取决于你自己,不管你的身份是统计学家、程序员、设计师还是数据研究者。

图表和图形并不只是将统计结果可视化,它们还对可视化展现的内容进行解释。

重点是,数据和可视化并不一定只能和冰冷的、不争的事实相关。有时我们寻求的并不是分析和洞察,而是从富有情感的观点来讲述故事,鼓励读者对数据作出回应。并不是所有的电影都必须是纪录片,同样,也并不是所有的可视化都必须是传统的图形或图表。

和小说中的人物成长一样,每一个数据背后都有它自己的故事,如同书中的每一个角色都有着各自的过去、现在和未来。那些数据彼此之间充满着互动和联系,如何表现出这些关系则取决于你自己。这就像在动笔写小说之前,我们必须先学会遣词造句一样。

要讲故事,没问题。那么,到底应该怎样用数据来讲故事呢?自然,具体细节会因为数据的不同而有所差别,不过总体来说,不管图形表现的是什么,我们都需要留心观察以下两件事情:模式和相互关系。

如你所见,由某一个问题出发会带来更多的问题。并不是只有时间序列数据会这样,所有类型的数据都是如此。努力探索数据背后的含义,你就会发现更多有趣的答案。 我们也可以用不同的方式来拆分时间序列数据。有时需要按天或小时来显示数值,有时则更适合以年或月为单位。前者的时序图会显示出更多杂点,而后者则偏向于呈现总量。

当你需要处理很多不同的数据集时,请尝试将它们进行分组,而不是当做互不干涉的单独元素来看待。这样能够产生更加有趣的结果。

我必须承认,数据检验无疑是我在数据图制作过程中最不喜欢的一步。我的意思是说,当某个人、组织或服务机构为你提供一大堆数据时,本应该由他们来确保所有数据都是真实可信的。但这同样也是一位优秀数据图形设计师的分内之事。毕竟,可靠的建筑师不会用劣质水泥来为房屋奠基,所以我们也不要用劣质的数据来构建自己的数据图。 也许数据检验与核实不是数据图设计中最重要的部分,但它绝对是其中不可或缺的部分之一。 基本上,我们要注意的是那些不太对头的东西。也许是因为在数据输入时出现了失误,某人多添或者遗漏了一个零;也许是在数据收集时网络出现了问题,有些字节被随机移动到了其他地方。无论原因是什么,如果任何东西看上去有些异常,我们就需要到源头去进行验证。

大部分异常都只是笔误而已,但有些异常却真的存在,而它们就是有意思的地方,可以作为故事的重点。如果你遇到了异常,一定要确定它到底属于前者还是后者。

另一个常见的错误是,设计师运用二维的形状来表现数值,但却把它们当做是一维来比较。柱形图中的矩形虽然是二维的,但我们只会用到它的长度,宽度其实并无实际意义。但如果是气泡图,就会用面积来表现数值,而新手往往只会考虑半径或直径,导致比例完全错误。

没有数据来源,读者也可能会怀疑图中的数据是不是胡编乱造的。当然我们不会这么做,但并不是所有人都会相信这一点。除了为图表带来信誉之外,数据来源还能便于读者进行核验或者分析。 提供数据来源还能为数据带来更多的上下文背景。在某个小镇上搞的民意测验与全美人口普查相比,得到的诠释自然会有天壤之别。

如果数据图是放在商业报告里,那么就不要把它设计成惊世骇俗的艺术作品。简单、直达主题才是你追求的目标。如果只是用于分析,那么数据图本身就够了,无需在美感和注释上花费大量时间。如果你的图形是为了发布给大众,那么设计就不要过于复杂,同时为任何可能产生疑义的概念提供解释。

数据是任何可视化的精髓与核心。幸运的是,有很多途径可以找到它们,例如求助于领域内的专家,使用各种在线应用,或者靠自己的力量来收集。

不同的可视化工具支持不同的数据格式,而且所用到的结构也会根据你打算讲的故事而有所差异。所以,你的数据结构越灵活,带来的可能性也会越多。运用数据格式化工具,再加上一点编程技巧,你就能为数据安排各种不同的格式、满足各种需求。

学习编程就是在学一门新的语言,一门有关位和逻辑的计算机用语言。例如,当你使用Excel或Tableau时,本质上是在和程序的翻译器打交道。按钮和菜单是你熟悉的语言,而当你点击它们时,软件会把你的行为翻译为指令,并发送给计算机。然后计算机才会服从你的命令,例如生成图片或者处理数据。

请记住,在这些工具中没有哪一个是万用良方。归根结底,对数据的分析和设计取决于你自己。工具仅只是工具而已,你手中拿着锤子并不代表着你就能建造高楼大厦。即使你的计算机再强劲,安装了再强大的软件,如果你不知道如何运用这些工具,它们就没有任何价值。先想好要提出什么问题、使用何种数据、强调哪些方面,那么在真正实践的过程中一切就会容易许多。 不过你是幸运的,因为我们马上就会谈到这些。后续章节将会涵盖那些重要的数据设计概念,并教大家如何将抽象的理论付诸实践(通过上述的各种工具)。你会学到从数据中找寻亮点并实现可视化的方法。

时间序列数据无处不在。舆论在变化,人口在迁移,企业在发展。我们通过时间序列数据来观察这些事物是如何变化的。本章会分别讨论离散时间和延续时间的数据,因为不同的数据类型决定了图表的表现形式。

不管是延续性还是暂时性的时间数据,我们最常想的从中发现趋势。某个东西是在上升还是下降?是否存在周期性的循环?要想找出这些变化中存在的模式,就必须超越单个数据点,纵观全局。只观察某个时间点上的数值当然更轻松,但只有在了解到来龙去脉之后,你才会对这个数值产生更深刻的理解。而且你对数据了解得越多,你所讲的故事就越有感染力。

时间数据可以分为离散时间和延续时间两种。理解自己的数据属于何种类型,你才能选择正确的可视化方法。在离散型时间数据中,数据来自于某个具体的时间点或者时段,可能的数值也是有限的。比如说,人们每年的考试通过率就是离散型数据。人们去考试,然后事件就结束了。考试有具体的日期,而且人们的分数也不会再发生变化。而类似温度这样的数据则是延续型的,在一天当中的任何时刻都可以去测量它,而且它一直都在变化。

探索有关时间的模式是非常有趣的。时间和我们的日常生活是如此不可分割,以至于时间数据的可视化中有很多方面都是相当直观的。我们能够理解事物正在变迁和发展——难的是弄清楚到底变化了多少,以及懂得要从图表中挖掘什么内容。

时间序列数据自然是以时间为分组依据的。它显示了在某个特定时间范围内发生的一系列事件。在比例数据中同样也存在分组依据,只不过它是按类别、子类别和群体进行划分的。这里的群体并不仅指人类群体,它代表的是各种可能的选择或产出,也就是样本空间(sample space)。

对于比例,我们通常会寻求三件事情:最大值、最小值和总体分布。前两者很明确,将数据由小到大排列,位于两端的就是最大值和最小值。

比例分布数据和其他数据类型的主要区别在于它们体现的是整体中的各个部分。每一个单独的数值都有其意义,而各部分相加得到的子集或者总和也是如此。我们的可视化成果应该体现出这些方面。 如果数据并不多,那么饼图可能最适合你。当然也可以用面包圈图,不过要稍加小心。如果有多个类别的多个数值,可以考虑堆叠柱形图,而非多个饼图。如果你想探索其中随时间而变化的模式,则可以使用堆叠面积图,或者用传统的时间序列图。有了这些作为基础,你的比例图一定会出类拔萃。

统计学就是要寻找数据之间的关系。两个群体彼此之间存在哪些共同点?群体内部的子群体之间有哪些共同点?子群体内部的个体之间又有哪些共同点?对于统计来说,人们最熟悉的关系就是关联性(correlation)。比方说,如果全民的平均身高增高了,那么平均体重自然也会随之增长。这是一种简单的、成正比的关联性。然而就和现实生活中一样,一旦我们开始考虑更多因素,或者试图寻找非线性的模式,那么数据间的关系就会变得更加复杂。本章讨论的是如何利用可视化的方法挖掘出并强调这些关系,从而讲出好故事。

到目前为止,我们已经了解了有关时间和比例的一些基础数据关系。我们可以掌握对象随时间变化的趋势,或者比较对象中包含的各个部分或百分比,从而了解其中最大、最小和夹在中间的各个部分。接下来我们将探求不同变量间的关系。当某个数量增加时,另一个数量是否会减少?它们之间是因果关系还是关联关系?通常来说,前者很难通过数量进行证实,因此也难以用图表描述。但是关联性是很容易表现的,而它也能引导我们进行更加深入的探究和分析。

在数据中探索关系有时候会颇具挑战性,而且还需要更多的批判性思维,不能盲目地拿着数字就开始画图。不过,这样也会呈现更多的信息,带来更大的回报。它表现了你的数据,或者说数据代表的事物之间是如何关联及互动的,这些才是最有意思的部分,正是它们造就了最好的故事。

在面对多个变量时,主要的挑战在于从哪里开始。如果我们不事先考虑好自己掌握的数据是什么,在面对如此众多的变化及子集时就会无所适从。有时候,最好的做法是先一次性观察所有的数据,那些让你感兴趣的内容自然会为你指引方向。

一方面,我们要探究数据对象为什么属于某个群组,另一方面,也应该探究它们为什么会不属于某个群组。也就是说,总会有一些数据点从同类中凸显出来,正如你所猜到的,它们被称作为“异常值”(outlier)。这些数据点和全体中的其他数据显得格格不入。有时候它们正是你的故事中最值得人注意的亮点,有时候它们可能只是无聊的笔误,比如少输了一个零。不管怎样,我们都需要对它们进行检查,以便了解到底发生了些什么。谁都不希望在绘制了一幅巨大的图表后,被细心的读者指出某个异常值有问题,导致之前的辛苦工作付诸东流。

对于初学者来说,设计数据图表时最困难的一个环节就是找到入手点。所有的数据都摆在面前,但对它们都代表什么没有任何的概念或预期。一般来说,我们可以尝试对数据提出一个或多个疑问,并试图解决这些疑问,以此作为开始。但如果不知道要问什么又该怎么办?本章所讲述的方法能为我们带来很大帮助。它们能让我们一次性看到所有的数据,从而更方便地弄清楚下一步该探索其中的哪个部分。

当引入时间之后,事情还会变得更加有趣。一幅地图只能代表一个时间片段,但我们可以用多幅地图来代表多个时间片段。我们甚至还可以用动画的形式来表现变化,例如某个企业在某个地理区域中的扩张(或萎缩),这样一来在某些地区的爆发性增长将会变得非常显而易见。另外,如果地图是可交互的,读者就能更方便地观察自己感兴趣的地区是如何发生变化的。在柱形图或点状图中我们不太可能得到这样的效果,但有了地图,数据立刻就能让人专享了。

地图是一种有些棘手的可视化类型,因为除了手中的数据之外,我们还必须处理地理维度。但是,由于它们的直观性,地图也能为我们带来丰厚的回报:一方面丰富了我们呈现数据的形式,另一方面它也比静态图表更加利于我们深入地探索数据。

当我们探索自己的数据时,没必要关心太多讲故事的条条框框,毕竟我们自己就是讲故事的人。不过,在使用图表来展示信息时,不管对象是一个人、数千人还是上百万人,单单一幅图表很可能是不够的。 毫无疑问,我们希望其他人能理解我们得出的结果,说不定还能从中发展出他们自己的故事。但是,读者在刚刚拿到数据时很难知道应该关心哪些问题。降低门槛是我们的责任和义务。我们如何设计图表将直接影响到读者如何理解数据。

我们只有充分了解了自己掌握的原始材料,才有可能用数据把故事讲好。而这往往是设计数据图表时最容易被忽略的。在开始阶段,的确很容易陷入对最终效果的憧憬和痴迷中。你想要一张看起来精彩、漂亮又有趣的图表,这没什么问题,但如果还不知道要可视化什么东西,谈这些无疑是痴人说梦。最后你可能只能得到类似图9-1这样的东西。你连数据集中有什么数据都不清楚,又怎样去突出那些亮点呢?

要研究数字和其中的度量标准。找出它们来自哪里,又是如何被估算的,还要检查它们是否合乎常理。正是这些早期的数据收集过程让《纽约时报》的图表变得如此优秀。我们看到的只是报纸或者网站上的最终结果,却不会感受到在动笔绘制之前所需要付出的大量努力。很多时候,仅仅只是将所有数据排好序所花的时间就要远远超过绘制图表的时间。 所以,当下次拿到一个数据集的时候,请试着不要立刻就埋头开始设计。那是懒人的办法,而且会在最后暴露出所有的缺陷。最好还是花点时间了解你的数据,研究这些数字的上下文背景。

尽管数个世纪以来人们一直在绘制图纸和图表,但只在过去几十年里研究人员才开始分析哪些图表有效、哪些图表无效。从这个角度来说,可视化仍然属于一个崭新的领域。对于可视化究竟是什么,业界目前仍未达成共识。可视化是否等同于计算机根据一些规则生成的结果?如果有人在设计过程中进行了人工干预,是否就表示它不再是可视化作品?信息图到底属于可视化范畴还是应该有自己的专有分类?