我刚接触数据可视化是在 4 年前,那时候一位大学老师 S ,叫我们使用 R 对数据进行统计分析(对,哥也学过一阵统计呢),其中有部分知识点是用 R 绘制箱线图、散点图之类的可视化结果。
从此对数据可视化产生了浓厚的兴趣,现在系统地来学习一下数据可视化。
今天分享一些关于数据可视化的基本流程。前面的文章看这里:
做任何事情都有章可循,数据可视化也是一样,而且可视化的基本步骤、流程和体系都是通用的, 不同的数据都可以按照下面的模型将数据可视化。
这里给出的步骤不是教大家怎么画出一幅「信、达、雅」的可视化结果图,而是传递一种思想,也就是可视化方法论。
可视化基本流程
可视化不是一个算法,而是一个流程,有点像流水线,但这些流水线之间是可以相互作用的、双向的。
我们可以简单地将可视化流程分成三个部分:前端、处理、后端,这和软件的开发流程不是一个概念。
文字看起来不太直观,直接上图:
图中涉及到几个主要的部分:
- 数据采集。数据的采集直接决定了数据的格式、维度、尺寸、分辨率、精确度等重要性质,在很大程度上决定了可视化结果的质量。
- 数据变换。这个过程包括去除数据噪声、数据清洗、提取特征。
- 可视化映射。可视化映射是整个可视化流程的核心,它将数据的数值、空间位置、不同位置数据间的联系等,映射到不同的视觉通道,关于视觉通道部分可以看这篇文章——数据可视化的基本原理——视觉通道。
- 用户感知。数据可视化和其他数据分析处理办法的最大不同是用户。用户借助数据可视化结果感受数据的不同,从中提取信息、知识和灵感。
上面的可视化流程虽然简单,但也要注意两点:
- 上述过程都是基于数据背后的自然现象或者社会现象,而不是数据本身。
- 各个模块的联系并不是按照我画的顺序来联系的,他们之间的联系更多是非线性的,任意两个模块之间都可能存在联系。
其他可视化流程
科学可视化流程
<figcaption style="margin-top: calc(0.666667em); padding: 0px 1em; font-size: 0.9em; line-height: 1.5; text-align: center; color: rgb(153, 153, 153);">Haber, R. B. and McNabb, D. A. Visualization idioms A conceptual model for scientific visualization systems, 1990</figcaption>
这个模型跟上面的简化流程类似,按照数据收集、处理、映射等步骤来组织可视化,步骤更明确一些。
信息可视化流程
<figcaption style="margin-top: calc(0.666667em); padding: 0px 1em; font-size: 0.9em; line-height: 1.5; text-align: center; color: rgb(153, 153, 153);">Card S K, Mackinlay J D, Shneiderman B. Readings in information visualization using vision to think[M] Readings in information visualization Morgan Kaufmann Publishers, 1999 647-650.</figcaption>
这个模型由 Card 等人提出,把流水线式的可视化流程升级为回路,用户可以操作任何一个阶段。现在大多数可视化流程都是仿照这个来的,大多数系统在实现上可能会有些差异。
人机交互可视化模型
<figcaption style="margin-top: calc(0.666667em); padding: 0px 1em; font-size: 0.9em; line-height: 1.5; text-align: center; color: rgb(153, 153, 153);">Keim D, Zhang L. Solving problems with visual analyticschallenges and applications[C] European Conference on Machine Learning &amp;amp;amp; Knowledge Discovery in Databases. Elsevier B.V. 20111-4.</figcaption>
可视分析通过人机交互自动处理和可视化分析方法紧密结合在一起。下面这个图表示最新的可视化分析模型:
从数据到知识有两个途径:
- 对数据进行交互可视化,以帮助用户感知数据中蕴含的规律
- 按照给定的先验,进行数据挖掘,从数据中直接提炼出数据模型。
在这两个途经,用户可以对模型可视化,也可以从可视化结果中构建模型。
在许多应用的场合,可视化分析操作的对象是多源异构数据。这些数据中,很多噪声、非结构化数据、异常数据,可视化界面帮助分析人员在自动分析时,直观地看到参数的修改或者算法的选择,增强了模型评估的效率。
此外,允许用户自主组合自动分析和交互可视分析的方法是可视分析学流程的基本特征。在这个过程中,我们可以通过可视化及时发现中间步骤的错误,或者自相矛盾的错误,提高了可信度。
综上,数据可视化发展到现在,人机结合是多个时代的叠加产物。一方面,机器智能在某些方面可以做到人类数亿年都完不成的工作;另一方面,人类的经过几亿年的进化,有些“只可意会,不可言传”的技能,即推理分析能力。
参考文献:
[1] 陈为 沈则潜 陶煜波. 数据可视化[M]. 电子工业出版社, 2013.浙江大学-陈为、巫英才数据可视化课程
[2] Haber, R. B. and McNabb, D. A. Visualization idioms: A conceptual model for scientific visualization systems, 1990.
[3] Card S K, Mackinlay J D, Shneiderman B. Readings in information visualization: using vision to think[M]// Readings in information visualization. Morgan Kaufmann Publishers, 1999:647-650.
欢迎大家关注微信公众号:可视化技术( visteacher )
不仅有前端和可视化,还有算法、源码分析、书籍相送
各个分享平台的 KurryLuo 都是在下。
用心学习,认真生活,努力工作!