数据可视化的秘密

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

 

研究数据的方法有很多,比如利用统计方法,计算数据的平均值和标准差;再比如使用模型,拟合数据。数据通常是大量的,人脑难以直接把握其中的信息。研究数据的最终目的是减小海量数据的信息量,将数据中的信息客观的展示出来,并最终整理成简单的,人脑可以掌握的知识。

 

数据可视化

图形是直观呈现数据的直接方法。然而,将大量数据在同一个图表中画出来并不容易。早期的测绘、天气数据都需要长时间的手工绘制。随着计算机绘图功能的开发,手工绘画已经完全被自动绘图程序取代。问题的核心转移为,要以怎样的方式呈现数据,以便数据中的信息能自然的体现出来。数据可视化(data visualisation)就是研究如何利用图形,展现数据中隐含的信息,发掘数据中所包含的规律。它是一门横跨计算机、统计、心理学的综合学科,并随着数据挖掘和大数据的兴起而进一步繁荣。

 

下面一个视频来自Hans Rosling。他是瑞典的一位医学家,同时也是统计学家。在下面的这个BBC制作的视频中,Hans Rosling用丰富的可视化手段,展示了近两百年来世界各国人口和收入的演化。我给这段视频增加了中英文字幕,以方便观看。如果有错误,请见谅。

http://v.youku.com/v_show/id_XNTA3NDk0MTk2.html  

 

数据的信息维度

Hans Rosling所做的数据图值得研究。数据展示的基本信息有2个维度:

1) x轴, 人均收入

2) y轴, 人均寿命

这两个轴是作者想要表达的最基本信息。图上的每个点代表一个国家,该点所在的x-y位置代表了国家的人均收入和人均寿命。人均寿命的刻度线性增长(25岁,50岁,75岁),但人均收入的刻度是指数增长(400元,4000元,40000元)。人均收入的刻度非常值得注意,否则很容易给人造成错误的印象。比如说三个国家A,B,C,人均收入分别为40, 4000, 40000元。尽管在图表中,A和B,B和C都只相差一个刻度,但C和B的收入差距实际上A和B收入差距的10倍!

 

此外,还有两个维度的辅助信息:

3) 圆圈大小,国家人口

4) 圆圈颜色,国家所在区域

平面可以自然的分为两个维度(比如上面的x和y)。为了增加其他维度的信息,我们需要考虑其他的独立表示方法。数据点可以有尺寸大小和颜色变化。正如这里所显示的,Han Rosling利用这两个图像特征来表示两个独立的维度(国家人口,国家所在区域)。

 

通过整个视频中年份的变化,Han Rosling还有一个明显的5)时间维度。利用动画的形式来记录信息随时间的变化状况,是数据可视化中常用的手段。然而,在使用动画的时候需要谨慎。动画会留给观众相对比较少的时间进行深入思考。所以在动画过程中需要适当的暂停(或者截图)来显示一些典型状况。

 

最后,整个数据还有一个非常隐藏的信息维度,就是Han Rosling不时的会表明某个圆圈所代表的6)国家名称。也就是说,国家名称也是一个隐含的,随时可以获知的信息。

 

 

眼见为实?

随着Han Rosling慷慨激昂的演讲,我们被带往一个结论:这个世界的收入和寿命差距在减小。世界作为一个整体,变得更加富有也更加健康。

数据似乎是在说明这一点。或者不是?

 

比如上面两个截图,被用来说明国家间的差距在减小。然而,我们上面提到,收入的刻度是10倍增长的(这样的刻度被称为对数刻度)。所以当一个国家比较富裕之后,它的财富增长比较难以在刻度上体现出来。比如同样增加3600元的收入,可以让一个原来收入400元的国家跨入中间区域,而一个原来收入40000的国家几乎原地不动。如果将x轴改为线性,那么国家间人均收入的差距将大大超越这幅图所带给人的直观感受。

(而在不考虑通货膨胀的情况下,所谓的整体收入增长的结论也不是很可靠。)

 

从y轴的信息看,整个世界的健康水平是提高了。即使是如此,我们依然要小心,比如下面两幅图,绘制的是相同的数据(标普500指数),唯一的差别在于y轴刻度范围。

是否举得第二张图的波动更加剧烈?但两张图是相同的数据!可见,刻度的范围会影响人们对数据的认知。小的刻度范围会让人觉得数据变化较大(即使数据本身还是一样的数据)。

 

因此,一个图表是由数据和绘制方法两方面构成的。图表并不等同于数据,绘制方法有可能会影响人们的主观认识。一个合格数据图表应该尽量客观的反映数据。

(当然,一个熟悉数据可视化原理的人,也可能会利用这些方法故意夸大。这在宣传海报中常常见到。)

 

数据绘图的要素

现在,转换位置思考。假设,我们有一批数据,那么应该怎么来着手呈现呢?这个问题并不好回答,原因有二:

1) 数据中包含有大量的信息维度,我们只能选择其中的一些而非全部呈现。

2) 数据的信息呈现方式多种多样

 

我们需要先确定想要绘制的信息维度。比如上面的视频中,六个信息维度得到呈现。而在S&P 500的绘图中,我们只呈现了两个维度的信息,时间和指数。如果图像中信息维度比较少,图表会比较容易理解; 如果信息维度多,那么图表会比较复杂,但更容易体现多变量之间的关系。

 

每个信息维度都需要一个坐标,来表现数据在该维度上的取值。在Hans Rosling的绘图中,六个坐标分别是:水平x轴,竖直y轴,圆圈颜色,圆圈大小,动画帧所对应的时间,以及文字标明的国家名。这六个维度之间相互独立,所以可以互不干扰的反映各个维度上的取值。再比如下面的条形图和饼图。它们都是在反映二维信息。条形图采取了x-y的坐标。饼图采取了文字-圆心角的坐标。

每一个坐标都需要有刻度。读者需要根据刻度获知数据的准确取值。刻度可以是均匀线性增长的,也可以是不均匀增长(比如对数刻度)。刻度的选择要根据数据的特征。如果不同数据样本在某个维度上取值差异较大,就适用于对数取值。比如下面这幅xkcd 1162的画,就展示了不采用对数刻度的恶果。

Log Scale (xkcd 1162)

此外,刻度还需要有范围。正如再S&P 500的绘图中我们谈到的,过大的刻度范围会从视觉上减小波动。一个常用的刻度范围是数据在该维度上的最大和最小值。但一些情况下,最大和最小值可能是由于错误状况造成的不可靠数据,所以会采取平均值加减标准差的范围。

在维度和刻度都选取好了之后,要再坐标轴旁标注这是什么维度,维度的单位,并在坐标轴上标注刻度值。这样,我们才完整了数据在该维度上的信息。一个有坐标轴,有刻度但没有标注的数据绘图,是失败的绘图。读者根本无法从中获知数据的真实状况。

(在Hans Rosling的绘图中,有两个维度的信息不完整:人口总数和国家名称)

 

在上面完成了之后,我们需要进一步说明数据来源。我们可以采用增加文字说明的方式来实现这一点(比如增加一个标题)。

 

总结

数据可视化非常有趣。它通过技术的手段,将枯燥的数据变得生动可爱。随着大数据时代的到来以及网络传播的发达,数据可视化会成为一项值得掌握的技能。这篇文章里,我通过一个很棒的视频说明了数据可视化的一些要点,特别是信息维度的问题。我会在以后介绍一些常用的绘图工具,将理论转化为实践。

时间: 2024-08-04 06:12:38

数据可视化的秘密的相关文章

通过一个视频剖析数据可视化的秘密

文章讲的是通过一个视频剖析数据可视化的秘密,研究数据的方法有很多,比如利用统计方法,计算数据的平均值和标准差;再比如使用模型,拟合数据.数据通常是大量的,人脑难以直接把握其中的信息.研究数据的最终目的是减小海量数据的信息量,将数据中的信息客观的展示出来,并最终整理成简单的,人脑可以掌握的知识. 数据可视化 图形是直观呈现数据的直接方法.然而,将大量数据在同一个图表中画出来并不容易.早期的测绘.天气数据都需要长时间的手工绘制.随着计算机绘图功能的开发,手工绘画已经完全被自动绘图程序取代.问题的核心

数据可视化专家的七个秘密

数据可视化的道路上充满了不可见的陷阱和迷宫,最近ClearStory Data的两位数据可视化开发人员分享了他们总结出来的数据可视化开发的7个不宣之秘,普通开发者了解这些方法能提升视野,少走弯路. 数据可视化, 特别是基于Web的数据可视化的时代已经到来了. 类似JavaScript的可视化库如D3.js, Raphaël,以及Paper.js, 以及最新浏览器所支持的如Canvas和SVG, 以及使得那些过去只能由计算机专家和专业设计人员开发的复杂的可视化变得越来越简单了. 数据可视化如今成为

数据可视化的七个秘密

 数据可视化,特别是基于Web的数据可视化的时代已经到来了.类似JavaScript的可视化库如D3.js,Rapha?l,以及Paper.js,以及最新浏览器所支持的如Canvas和SVG,以及使得那些过去只能由计算机专家和专业设计人员开发的复杂的可视化变得越来越简单了. 数据可视化如今成为了很多网站项目的必备功能.而类似于Platfora,DatameerClearStoryData以及Chartio等初创公司则可以利用基于浏览器的分析平台融到数百万美元的投资. 数据可视化是数据探索以及数据

数据可视化专家的七个不宣之秘

       数据可视化的道路上充满了不可见的陷阱和迷宫,最近ClearStory Data的两位数据可视化开发人员分享了他们总结出来的数据可视化开发的7个不宣之秘,普通开发者了解这些方法能提升视野,少走弯路. 数据可视化, 特别是基于Web的数据可视化的时代已经到来了. 类似JavaScript的可视化库如D3.js, Raphaël, 以及Paper.js, 以及最新浏览器所支持的如Canvas和SVG, 以及使得那些过去只能由计算机专家和专业设计人员开发的复杂的可视化变得越来越简单了. 数

《数字营销解析——揭开用户数据背后的秘密》一1.1 数字媒体类型

1.1 数字媒体类型 数字营销解析--揭开用户数据背后的秘密 从20世纪90年代中期以来,数字媒体领域发生了很大的变化.在整整10年里,尽管我们对媒体类型进行了重新标记,但是比较流行的主要媒体类型有两种.第一种媒体是付费媒体,一般以付费搜索(例如Google AdWords)广告的形式或者展示广告(例如DoubleClick横幅广告)的形式出现.付费媒体实际上只是-某个品牌付费使用的数字媒体渠道. 第二种媒体是自有媒体.这是对公司的任何媒体资产或平台的通用术语.公司拥有.控制并利用自有媒体向潜在

十个城市数据可视化实例

城市的复杂性(一个多样的持续变化中的环境)会产生庞大数量的数据.越来越多的可用性工具可以生成.捕捉.存储.管理和分析这些数据,这使大数据有了更广泛的可能性.公共数据(包括公共交通.交通流.水.废物.使用空间和商业等)的开放让将这些数据转化为比纯粹的统计汇总更有用的信息.在移动设备广泛应用的背景下,这些信息有助于理解和创造新的app的社会价值,这些app通过数据让使用者更能从自身需求出发与城市互动.近年来可视化技术已经成为一个扩展的工具. 这里我们选择了一些利用视频格式或交互式网络对城市生活强度数

13个可实现超棒数据可视化效果的Javascript框架

随着商业及其相关需求的发展,数据成为越来越重要的元素之一,为了更加直观和明显的展示商业潜在的趋势和内在的特性,我们需要使用图表和图形的方式来直观动态的展示数据内在秘密,在今天的这篇文章中我们推荐12款最棒的数据可视化的Javascript框架,希望能够帮助大家在项目中更好的实现数据可视化效果. ECharts 提起ECharts,经常使用开源软件的朋友应该很熟悉,当然,如果你不知道也没关系.但是你肯定知道去年春节以及近期央视大规划报道的百度大数据产品,如百度迁徙.百度司南.百度大数据预测等等,这

四个方法帮你搞定数据可视化界面设计

  "仪表板"."大数据"."数据可视化"."数据分析"--越来越多人和企业,开始运用他们的数据来做一些有趣的事情.在我的职业生涯中,有幸参与一大批数据为重的界面设计,我要在此分享一些观点,讲讲如何造就这种特殊且有意义的产品. 很多人已经讨论过这个议题,我会围绕创作过程中最具影响力的部分. 一.用户不同,数据不同 任何时候设计一套复杂的系统,都不可避免要为很多用户和角色进行设计.总裁.经理和分析师是几个常见角色,每个都有自己的

百度统计3.0蜕变:化繁为简呈现重点数据可视化

文章描述:倚天出鞘,屠龙开锋 – 百度统计3.0设计简记. 随着百度统计功能日趋完善,功能点逐步丰富, 3.0版是其易用性及交互视觉新的蜕变.此次升级以简洁一致的视觉风格.众多可视化元素.以及易用性改善,呈现出焕然一新的专业形象.接下来,就用以下几点简略讲述统计3.0的蜕变历程. 信噪比原则:化繁为简,呈现重点 好设计的目的是使信号最大化,而噪音最小化,从而产生一个高的信噪比.依据重要程度,控制整体信息对比及优先级,是本次升级的重要述求之一. 趋势图:将XY轴以外的线条.文字视觉弱化,以让趋势曲