首页投稿(暂停使用,暂停投稿)程序员

数据可视化101-到底该用什么图

2015-01-26  本文已影响278人  aaronisme

本文是阅读Stephen A. Thomas的数据可视化的书Data Visualization with JavaScript的摘要和心得体会。感谢阮一峰老师blog在阮一峰老师的Blog总能发现一些好东西。

一提到数据可视化,我们就会想到绚丽的图表,精巧的动画。如果我们没有很强的艺术功底,难道就做不好数据可视化了吗?数据可视化的目的说到底是什么呢?是帮助用户理解数据,如果简单的图表能达到这样的目的,那么它就是一个好的数据可视化解决案例。下边让我们来看看这些基本的图表。

栅格图(Bar Chart)

当你想要选择一个图表来表示数据时候,首先应该考虑下栅格图是不是合适。因为它够简单。栅格图用它的高度来表示数据之间的差异。用户很容易观察。栅格图合适表示少量的二维数据以及数据在一个维度上变化这样的使用场景

线图(Line chart):

对于少量的数据,使用栅格图可以很好的解决问题,但是如果数据量一大,同时用户关心的是数据的变化趋势,那么线图可能是另外的一种更好的选择了。同时如果,我们想知道多个数据量在一个坐标系下的变化,以及相互直接的关系。那么使用线图,应该是一个很好的选择。

饼图(Pie Chart):

上边说的都是直角坐标系的图形,下边来说说极坐标系下的图形。正可视化家族内,饼图似乎并不受人待见,为什么呢?因为它并不直观,看看下边的例子:

你能清楚的告诉我,这里那个颜色的表示的数值关系吗?应该很难一眼看出来吧。但是如果转换为栅格图,我们再来看看。

是不是一眼就能看出谁大谁小呢?这是为什们呢?这是因为人眼对于区域面积很难进行比较,尤其是当这些区域还是非矩形的。所以对于小量的数据,如何你的目的是比较多个值,那么还是考虑下栅格图吧。难道饼图就是英雄无用武之地吗?也不是当,要表示一个数与整体之间的关系时,这时饼图就派上用场了。看看下面的这个例子。

这个饼图表现的是,世界贫困人口(每日生活费少于1.25刀)的比例,但表示一个值与总体比例关系的时候,用饼图是个最好的选择。

散点图(scatter chart)

利用栅格图,我们可以很好的表示出一个数据量的大小关系。但是在现实的问题中,往往情况更加的复杂,如果我们想要在一张图中表示两个数据量的大小关系,应该怎么办呢,这个时候,散点图会是一个比较好的选择了。

在一张图中,表示了两个数据量(国家平均年龄,国家的医疗投入),同时也可以看出这两个量值的相关关系。

气泡图(Bubble chart)

气泡图可以视为是散点图的变形。如果我们想表示更多的数据量(三个),那么在散点图的基础上,如果将第三个数据量用点的大小来表示,那么这时散点图就变为了气泡图。下图就表示飓风的进程(经度,维度)以及风力大小(第三个数据量)。

雷达图(radar chart):

雷达图与以上的图形相比,相对少见些。但是如果一个数据有多个维度(超过4个),那么用雷达图来表示会比较合适,如果你的数据有以下几个特点,那么可以考虑使用雷达图:

    *要表示的数据量不大,一般来说小于7个。

    *要表示的数据有多个维度,一般来说多于4个以上,如果少于4个考虑可以使用其他类型的图表。

    *每一个维度都是可以被度量的。

一个典型的例子就是衡量一个NBA球队里球员的表现。在这个例子他的数据量不大(5名队员),每个队员的表现有多个维度(得分,助攻,篮板,断球,盖火锅)。这些维度都是可以被量化,度量的。

那么这样的数据用雷达图可以很好的进行表示。

上一篇下一篇

猜你喜欢

热点阅读