数据可视化的一些知识
什么是可视化
我们知道,计算的目的是从数据中获得洞察力。可视化技术是一种将数据转换成几何图形表示的技术,它能够直观地展现数据,提供自然的人机交互的能力。
简而言之,可视化是一种数据的可视表现形式以及交互技术的总称。它通过图形化的方式把数据表现出来,方便用户进行观察和理解,并帮助用户对数据进行探索(Exploration)、发现(Discover)数据里隐藏的模式,获得对大量数据的理解和洞察力(Insight)
可视化的强大威力
常话说:一幅图胜过千言万语
,即某些事物用文字来表达相当烦琐,很不真观,但是用图形来表现,则非常容易把握和理解。
以地图导航为例,从杭州的武林广场到西湖音乐喷泉之间的路,文字和地理信息分别如下图:
图1-2:地理信息可视化
在地图上我们可以一目了然地看到线路的全貌。通过对关键的换乘点进行点击,就可以获得时一步的线程信息。这个实例生成地展示了可视化的直观性。
在大数据时代,数据来源多样,数据的规模巨大,可视化技术可以帮助我们对数据进行观察,理解、探索和发现。
可视化的一般过程
可视化的一般过程以下图1-3所示:
图1-3:可视化的一般过程
科学可视化与信息可视化
目前,可视化领域包括三个主要分支,分别是科学可视化(Scientific Visualization)
、信息可视化(Information Visualization)
以及可视分析(Visual Analytics)
。
可视化领域的顶级学术会议是IEEE VIS
,它包含三个分会,正好分别对应数据可视化的三个分支。
在数据可视化领域,科学可视化是其中最成熟的一个研究分支,它主要面向自然科学实验、探测活动(如天文观测)、计算机模拟所产生的数据进行建模、操作和处理。科学可视化是针对特定领域的,比如:天文观测、地震研究、医学研究、核物理研究、石油勘探等,其数据类型较为单一,数据中一般带有物理和几何结构数据,可视化的任务一般是固定的。
科学可视化和信息可视化在目标任务、应用领域、数据类型、主要方法、面向的用户等方面的主要区别如下表:
对比项 | 科学可视化 | 信息可视化 |
---|---|---|
目标任务 | 研究科学问题,深入理解自然界中的现象 | 探索、发现信息之间的关系 ,发现隐藏的模式 |
应用领域 | 气象、高能物理、天文学、生物学、医学、地质学.... | 传感器网络、电子商务、金融、社交网络、新闻、博客、反恐.... |
数据来源和类型 | 1. 来自科学实验、观测、仿真; 2. 结构化数据,具有物理、几何特性 | 1. 来自各个领域; 2. 结构化数据和非结构化数据,一般不具有物理、几何属性 |
主要方法与要求 | 1. 预处理、映射、渲染、交互; 2. 准确反映数据中的物理几何关系 | 数据挖掘与机器学习、映射、渲染、交互以及可视分析;把抽象复杂的信息及其关系映射为有效的可视化表示,寻找合适的可视化形式; |
面向的用户 | 面向科学家 | 面向非技术人员、普通用户、管理人员 |
数据可视化的原则
可视化的目的是把复杂数据有效地展出来,首要的原则是准确(Precision)
和清晰(Clarity)
。
准确是指可视化结果反映的是数据的本来面目或者本质(Substance);
清晰是指可视化结果所表达的含义要明确。
- 我们希望在更小的空间里(Less Space),用最少的图形(Less Ink),在最短的时间里(Less Time),传达给用户最多的信息(More Ideas)。对可视化效果进行合理简化,突出重点。
- 可视化的结果,需要阐明事物之间的相互关系,以及事物的变化趋势,对于类似的事物要方便用户进行比较。需要结合时间、空间因素进行设计,包括使用箭头、创造流动感等。
- 使用用户熟悉的事物,对需要比较的数据进行比较。
- 构建实物场景,生成展现数据。
- 在可视化设计过程中,要考虑把交互方式和动画效果加进去。
可视化的实例
-
散点图与直方图
散点图(Scatter Plot
)是对点数据(Point Data,即向量)的集中趋势、分布形状、离散趋势进行把握的基本的可视化形式。
集中趋势
是指数据向中心点靠拢的趋势。
分布形态
包括数据的分布是对称的还是非对称的,平缓的还是比较陡峭的等。
离散趋势
指的是数据离开中心点的趋势。
2维散点图
直言图
,也称为频率直方图(Frequency Histogram),它是统计学中用于表示频率分布的图形。在直角坐标系中,横坐标表示随机变量的取值,横轴一般划分成一系列的小区间,每个区间对应一个分组,作为小矩形的底边。纵坐标表示频率,每个分组的小矩形的高度表示随机变量取值落入该区间的频率。一系列的小矩形构成频率直方图。
-
线图
多线图示例
线图是通过画直线或者样条曲线,把若干数据点连接起来。线图分单线图(Line Graph)和多线图(Multiple Line Graph)。
-
柱状图与饼图
柱状图和饼图示例
柱状图和饼图一般用来显示一个数据系列里各个数值之间的相对大小关系。柱状图的各个柱子的高度是比例关系以及饼图的各个扇面的大小的比例关系,反映了数据系列中各个数值之间的大小关系。
-
解剖图、切片、等值面
人体血液循环系统解剖示意图
人体和动物的解剖图可以是手绘的,也可以是利用3维建模技术重建的。
CT(Computed Tomography)设备和MRI(Magnetic Resonance Imaging)设备可以对人体进行断层扫描,获得高分辨率的人体切片图像。
-
表现层次关系:树、圆锥树、Tree Map、信息立方体
- 树(Tree)- 树型结构是可视化中应用最广泛的一种图结构,它一般用来表现某种层级关系,如某个组织的各个部分、某个家庭的族谱等。
-
圆锥树(Cone Tree)- 圆锥树用于对层次结构进行可视化展现。在圆锥树中层次结构通过3维方式进行展现,以利用最大化使用屏幕空间,以及展现整个层次结构。每个节点表示为圆锥的顶点,它的子节点在该圆锥的底面周围绘制出来。如下图:
圆锥树实例 - Tree Map - 最初是由马里兰大学的Ben Shneiderman教授于20世纪90年代提出的,最初的目的是找到一种有效了解磁盘空间使用情况的方法。Ben教授首先想到的是用树状结构来表示,但是这样图形占用太大的空间。接着他利用面积来表示文件大小,但是用矩形、三角形还是圆形都有一定的问题。最后,他想到了将屏幕交替切分为水平和垂直方向的矩形,用递归来实现层级关系。
-
信息立方体(Info Cube)
信息立方体是一种多维的数据结构,用于从不同维度对数据进行汇总和观察。
信息立方体(地区、时间、品类)
-
地图(Map)和地球(Earth)
国内某个机场的航线图
在地图上进行可视化,可以展示事物的发展过程所涉及的不同地理位置。
-
堆叠的河流(Stacked River)
主导夏季奥运会的国家变化
Jeff Clark创建了Twitter Stream Graph可视化效果。他通过堆叠的河流,显示Twitter数据流里流行的关键字(Top Trending Keywords)随时间变化的情况。