数据可视化技巧:提出问题,描绘答案
Posted 论智
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据可视化技巧:提出问题,描绘答案相关的知识,希望对你有一定的参考价值。
编者按:在日常工作中,数据可视化是数据科学家不可或缺的一个“好帮手”。它能以图像的形式生动有趣地把数据信息有效传递给他人,是人与人、部门与部门之间高效沟通交流的工具。但是,这些作用也决定了它必须兼具美学和统计功能:太繁则华而不实;太简则晦涩难懂。如何把握设计与功能之间的平衡,创建出简洁直观的可视化图像?这是个连行业老人都感到头疼的问题。
本文来自资深统计学家Nathan Yau,他向我们展示了如何基于目标问题,为同一个数据集设计14种不同的可视化图像。
不久前,我写了一篇关于如何构建动态金字塔图表的教程。写完文章后,我偶然看到了一张金字塔图,制图人Lisa Charlotte Rost根据当前德国各年龄段男性、女性人数,用两个完全不同的图表展示了社会两性人口分布和社会两性人数在未来的变化趋势。
同一个数据集,不同的焦点。我觉得这很有趣,于是做了一版美国版的动态金字塔图:
如上图所示,这幅可视化关注的是2015-2060年间各年龄段男性、女性人口的分布情况。
而这是用相同数据绘制的第二幅可视化图表,可以发现,虽然它仍关注在具体某个年龄段是男性多还是女性多,但它能反映整个年龄段的总人口趋势,这个信息是第一幅图欠缺的。
那么,哪幅图更好呢?
答案取决于你想知道什么。如果你只想知道是男性多还是女性多,那么第一幅图更直观;但是,如果你想知道总人口的变化情况,而不是男女人数差异大小,第二幅图更合适。
这个例子告诉我们,在可视化数据之前,多问问自己可视化的目的会帮我们更好地选择图表。可视化图像不应该只是一堆漫无目的、没有重点的图形,我们不一定要在上面呈现翔实的数据——尽管它们对分析和探索很有用,但必须明确阐释数据之间的密切联系,这是数据演示的意义所在。
接下来,就让我们仍以上述美国人口数据集为例,看看可视化在实践中是如何运作的。
首先,这里有一个数据样本:
Year Age Gender Projected.Population
2014 0 Female 1939928
2014 0 Male 2031919
2014 1 Female 1933019
2014 1 Male 2024845
2014 2 Female 1941924
2014 2 Male 2030157
...
已知数据集来源可靠,里面的所有内容都由美国卫生与人类服务部提供。数据集中共4个特征:年份、居民年龄、居民性别和预计人口。其中年份的范围是2014-2060,居民年龄分布在0至100以上之间,性别分为男性/女性,预计人口在9000到270万之间。
针对以上信息,现在我们可以提出一些问题并实现相应可视化。
这个数据集大致反映了什么?
如果可视化的目标是解答这个问题,动态金字塔图能提供对整个数据集的整体反馈。如下图所示,随着人口年龄的增长,图中色块会往纵向不断延伸;随着人口总数的增加,图中色块会横向变宽。图中展示的内容已经足以概括数据集,如果实在要跳错,它确实有一个小问题,就是没有直观展示两性人口数的对比情况。
和现在相比,2060年一共有多少人?
如果你只关心总人口而不是年龄、性别,一个简单的条形图就足够了。
或者,你也可以把它总结为一句话:从2018年至2060年,人口预计将增长26.5%。
男多女少or女多男少?
对于这个问题,其实我们可以用文首的动态金字塔图来解释。但它的不足之处是多了一个年龄维度,这就使看图的人只能对比每个年龄段的男女人口,而没法直接看出两性的总人口差距(要估计曲线下方的区域)。
因此,为了解决这个问题,我们可以用最基础的可视化图像之一——折线图,一条表示女性,一条表示男性,上方曲线人多,下方曲线人少。如下图所示,在未来几十年内,美国将继续维持女多男少的局面。
如果想表现男性和女性人数之间的差距将随着时间推移而减少,你可以在两条线之间补充一些垂线,更直观地表现趋势:
你也可以把人口差算出来,绘制人数差距图:
如果不想用折线图,连接的散点图也是一种比较男性和女性人口随时间变化的方法:
如上图所示,左上区域表示女性人数,又下区域表示男性人数,中间的黑色虚线表示两性人数相等的状态。由于美国女多男少,表示实际人口的蓝色散点线目前在女性一侧,但随着时间推移,蓝线会不断向对角线靠近,表示人数差距将越来越小。
如何比较男性和女性的年龄分布?
一般情况下,如果要显示某一时间点某区域的男女比例和年龄构成,人口金字塔是所有可视化图像中的首选。之前我们展示了一幅动态金字塔图,它的优点是能体现总人数变化和年龄分布趋势,但考虑到这里我们的目标是比较男女年龄分布,镜像图结构不够直观,动态变化也会为对比带来麻烦,所以静态人口金字塔图更合适。
一种方法是把男女图像排列一侧,直接上下对比:
另一种方法是重叠图表进行强制比较。无论选择什么样的展示方法,直观简介始终是第一位的。
每年增加多少人口?
人口增长率是一种常见可视化对象,对于一个国家而言,人口增长的速度肯定不是一成不变的,我们可以计算人口的同比增长变化,更合理地反映社会情况:
除了增速,人口的实际增长量也是人们感兴趣的点,我们可以用下面的图可视化每年的绝对增长量:
每个年龄的预计变化是多少?
如果你感兴趣的目标是年龄,我们也可以统计每个年龄的人口数变化范围,如下图所示,线段越长,人口增长地越多:
那么全国哪个年龄的人数最多呢?下面的图能给我们答案:
到目前为止,我们应该已经看出不同问题对具体可视化方法的巨大影响了。这给了我们一些启发:
拿到数据集时,原问题只是一个开始,它可能会带来更多问题
问题提供了关注焦点,因为图形是对特定问题的解答
要过滤一切不需要呈现的内容
星标论智,每天获取最新资讯
以上是关于数据可视化技巧:提出问题,描绘答案的主要内容,如果未能解决你的问题,请参考以下文章
R语言ggplot2可视化:可视化时间序列日历热力图日历热力图可以很好地描绘极端值和节日数据特性(Calendar Heatmap)例如日历上看到股票价格这样的指标的变化,尤其是高点和低点数据