基础篇
第一章 数据可视化简介
1.1 可视化释义
在计算机学科的分类中:利用人眼的感知能力对数据进行交互的可视表达以增强认知的技术,称为可视化。
它将不可见或难以直接显示的 数据转化为可感知的图形、符号、颜色、纹理等,增强数据识别效率,传递有效信息。
可视化是认知的过程,即形成某个问题的感知图像,强化认知理解。
可视化的终极目的是对事物规律的洞悉,而非所绘制的可视化结果本身。这包含多重含义:发现、决策、解释、分析、探索和学习。因此,可视化可简明地定义为“通过可视表达增强人们完成某些任务的效率”。
从宏观的角度看,可视化包括三个功能:
- 信息记录
- 支持对信息的推理和分析
- 信息传播和协同
1.2 可视化简史
可视化发展史与测量、绘画、人类现代文明的启蒙和科技的发展一脉相承。
- 17 世纪之前:图表萌芽
- 1600 - 1699 年:物理测量
- 1700 - 1799 年:图形符号
- 1800 - 1900 年:数据图形
- 1900 - 1949 年:现代启蒙
- 1950 - 1974 年:多维信息的可视编码
- 1975 - 1987 年:多维统计图形
- 1987 - 2004 年:交互可视化
- 2004 年至今:可视分析学
1.3 数据可视化详解
1.3.1 数据科学的发展
数据科学的基本模型:数据 -> 信息 -> 知识 -> 智慧
1.3.2 数据可视化的意义
数据可视化的作用在于视物致知,即从看见物体到获取知识。
需要达到真、善、美的均衡:
- 真:真实性,正确反映数据的本质,以及对所反映的事物和规律正确的感受和认识;
- 善:倾向性,可视化所表达的意象对于社会和生活的意义和影响;
- 美:艺术完美性,形式与内容和谐统一,有艺术个性,有创新和发展。
1.3.3 数据可视化的分类
处理对象是数据。
- 科学可视化:如何有效呈现数据中几何、拓扑和形状特征。
- 标量场可视化
- 向量场可视化
- 张量场可视化
- 信息可视化:如何针对大尺度高维数据减少视觉混淆对有用信息的干扰。
- 时空数据可视化
- 层次与网络结构数据可视化
- 文本和跨媒体数据可视化
- 多变量数据可视化
- 可视分析学:将人的感知和认知能力以可视的方式融入数据处理过程。
1.3.4 数据可视化与其他学科领域的关系
- 图形学、人机交互
- 数据库与数据仓库
- 数据分析与数据挖掘
- 面向领域的可视化方法与技术
- 信息视觉设计
1.4 数据可视化研究挑战
三方面约束:
- 计算能力的可扩展性
- 感知和认知能力的局限性
- 显示能力的局限性
两方面挑战:
- 大数据可视化
- 以人为中心的探索式可视分析
第二章 视觉感知与认知
2.1 视觉感知和认知
用户是所有行为的主体:通过视觉感知器官获取可视信息、编码并形成认知,在交互分析过程中获取解决问题的方法。在这个过程中,感知和认知能力直接影响着信息的获取和处理进程,进而影响对外在世界环境所做出的反应。
人类处理数据的能力远远落后于获取数据的能力,人类视觉对于形象视觉符号的理解能力更强。
2.1.1 视觉感知和认知的定义
感知指客观事物通过感觉器官在人脑中的直接反映。
认知指在认识活动的过程中,个体对感觉信号接收、检测、转换、简约、合成、编码、储存、提取、重建、概念形成、判断和问题解决的信息加工处理过程。
2.1.2 视觉感知处理过程
人类感知系统由负责语言方面和其他非语言事物的两个子系统组成。
大脑对于视觉信息的记忆效果和记忆速度好于对语言的记忆效果和记忆速度。
视觉分为低阶视觉和高阶视觉。
2.1.3 格式塔理论
强调经验和行为的整体性,最基本的法则是简单精炼法则,认为人们在进行观察时,倾向于将视觉感知内容理解为常规的、简单的、相连的、对称的或有序的结构。同时,人们在获取视觉感知的时候,会倾向于将事物理解为一个整体,而不是组成该事物所有部分的集合。
- 贴近原则:当视觉元素在空间距离上相距较近时,人们通常倾向于将它们归为一组。
- 相似原则:人们在观察事物的时候,会自然地根据事物的相似性进行感知分组,虽然实际上事物本身并不存在分组的意图。
- 闭合原则:只要物体的形状足以表征物体本身,人们就会很容易地感知整个物体而忽视未闭合的特征。
- 共势原则:如果一组物体沿着相似的光滑路径运动趋势或具有相似的排列模式,人眼会将它们识别为同一类物体。
- 好图原则:人眼通常会自动将一组物体按照简单、规则、有序的元素排列方式识别。
- 对称性原则:人的意识倾向于将物体识别为沿某点或某轴对称的形状。
- 经验原则:在某些情形下视觉感知与过去的经验有关。
可以看出,格式塔(完形理论)的基本思想是:视觉形象首先是作为统一的整体被认知的,而后才以部分的形式被认知。
2.2 颜色
颜色与形状和布局构成了最基本的数据编码手段。
2.2.1 颜色刺激理论
- 人眼与可见光:人眼结构,暗视觉(杆细胞),明视觉(锥细胞)。
- 颜色与视觉:三色视觉理论与补色过程理论。
- 颜色视觉障碍:在正常光照条件下,人眼无法辨认不同的颜色或者对于颜色辨认存在不同程度的障碍。
2.2.2 色彩空间
色彩空间是描述使用一组值表示颜色的方法的抽象数学模型。
- CIE XYZ/CIE L*a*b*
- RGB/CMYK
- HSV/HSL
- 绝对色彩空间与相对色彩空间
2.3 视觉编码原则
可视化将数据以一定的变换和视觉编码原则映射为可视化视图。
2.3.1 相对判断和视觉假象
人类感知系统的工作原理决定于对所观察事物的相对判断。(参照物)
视觉假象指人们通过眼睛所获得的信息被大脑处理后形成的关于事物的感知,与事物在客观世界中的物理现实并不一致的现象。
可视化设计时要考虑到人类感知系统的这种现象,排除误导用户的可视化元素。
2.3.2 标记和视觉通道
可视化编码由两部分组成:
- (图形元素)标记:数据属性到可视化元素的映射,代表数据的性质分类
- 用于控制标记的视觉特征的视觉通道:数据的值到标记的视觉表现属性的映射,展现数据属性的定量信息。
标记
- 通常是一些几何图形元素,如点、线、面、体等。
- 可以根据空间自由度进行分类,如零自由度(点)、一维(线)、二维(面)、三维(体)。
- 标记的选择通常基于人们对事物理解的直觉感知
视觉通道
- 位置、大小、形状、色调、饱和度、亮度等,具有分类性质(形状)和定量性质(长度)。
- 不同的视觉通道在表达信息的作用和能力上特性不同
2.3.3 视觉通道的概念
将数据信息以可视化视图进行呈现,其关键步骤是对数据信息进行编码,即将数据属性以标记呈现后,通过视觉通道控制标记的呈现方式。
视觉通道的类型
- 定性性质或分类性质:形状、颜色等,适合编码分类的数据信息
- 定量性质或定序性质:长度、亮度等,适合编码有序的或数值型的数据信息
- 分组性质:位置等,适合表现数据的内在关联性
视觉通道的表现力和有效性
- 表现力:视觉通道在编码数据信息时,需要表达且仅表达数据的完整属性。
- 视觉通道的有效性要求高表现力的视觉通道用于重要的数据属性编码。
- 视觉通道的表现力排序:
- 定性或分类:位置、色调、形状、图案
- 定量或定序:坐标轴位置、长度、角度、面积、亮度/饱和度、图案亮度
- 分组:包含、连接、相似、接近
表现力判断标准
- 精确性
- 人类感知系统对于可视化的判断结果和原始数据的吻合程度
- 史蒂文斯幂次法则,长度是线性的(精确性高,柱状图)
- 可辨认性
- 调整取值使得人们能够区分该视觉通道的多种取值状态的能力
- 弱的如直线宽度,只能编码三四种
- 可分离性
- 抗其他视觉通道干扰的能力
- 视觉突出
- 在很短的时间内,人们可以仅仅依赖感知的前向注意力直接发现某一不同对象
2.3.4 视觉通道的特性
不同的视觉通道,被用户的感知与认知系统处理并获取的信息不同
平面位置
- 既可编码分类,又可编码定序或定量
- 水平位置和垂直位置是两个可以分离的视觉通道,垂直位置优先级更高(重力效应)
- 用坐标轴来组织显示空间
颜色
- 最复杂,可以编码大量信息
- 亮度:有序数据、可辨性小、精确性低
- 饱和度:有序数据、可辨性小、精确性低
- 色调:分类数据、分组数据、
- 配色方案:信息表达和美观性
尺寸
- 定量/定序通道,有序数据
- 人们对于一维尺寸的判断是线性的,维度越高越不精确
斜度和角度
- 斜度
- 二维坐标轴平面中,方向和 0 度坐标轴的夹角
- 具有所属象限及角度值等性质
- 角度
形状
- 通过前向注意力就能识别的低阶视觉特征
- 定性通道,分类数据
纹理
- 多种视觉变量的组合
- 三维中可以作为几何物体的属性,二维中可以表示不同的数据范围或分布
动画
- 动画形式的视觉通道包括:运动的方向(定性)、运动的速度(定量)、闪烁的频率(定量)等
- 与其他视觉通道天然的分离性,容易让用户忽略非动画视觉通道
第三章 数据
3.1 数据释义
- 数据是符号的集合,是表达客观事物的未经加工的原始素材
- 数据模型是用来描述数据表达的底层描述模型,包含数据的定义和类型,以及不同类型数据的操作功能
- 数据可以看成是数据对象和其属性的集合,其中属性可被看成是变量、值域、特征或特性
3.1.1 数据基础
数据分类
- 从关系模型的角度,数据可被分为实体和关系。
- 实体是被可视化的对象
- 关系定义了实体与其他实体之间的结构和模式
- 实体关系模型能描述数据之间的结构,但不考虑基于实体、关系和属性的操作
- 数据属性可分为离散属性和连续属性
数据集
- 数据集是数据的实例。表达形式有:
- 数据记录集:由一组包含固定属性值的数据元素组成。数据对象可视为高维空间的点集,数据集可表达为一个 m * n 的矩阵。(OLAP 技术)
- 图数据集:非机构化的数据结构,由一组节点和一组连接两个节点之间的加权边组成。(航线图、分子式等)
- 有序数据集:具有某种顺序的数据集。(空间数据、时间数据)
- 数据集的另一种分离是根据数据模型的结构:
- 结构化数据:可以用二维表结构逻辑表表达的(数据库)
- 非结构化数据:难以用数据库二维逻辑表表达的(图数据、图像、文本)
- 半结构化数据:介于上面两者之间(XML)
数据相似度与密度
- 衡量多个数据对象之间的相似程度。
- 度量值:相似度系数
- 测度:距离
3.1.2 数据科学及过程
- 以数据为研究对象的电子科学、信息科学、语义网络、数据组织与管理、数据分析、数据挖掘和数据可视化等手段,可以有效地提取隐藏在数据中有价值的信息,并且将数据利用率提高到传统方法所不能及的高度,是提炼科学原理、验证科学假设、服务科学探索的新思路。研究这种综合性方法的学科被称为数据科学。
- 数据可视化作为人机交互手段,贯穿于整个数据科学过程。
3.2 数据获取和预处理
3.2.1 数据获取
- 数据获取协议,以文件为基础,提供数据格式、位置和数据组织的透明度
3.2.2 数据预处理
- 合并:多个属性或对象 -> 一个
- 采样
- 降维:高维空间 -> 低维空间
- 特征子集选择:从数据集中选择部分属性值
- 特征生成:在原始数据集上构建新的能反应数据重要信息的属性
- 离散化与二值化:离散化,将数据集根据其分布划分为若干个子类,形成数据集的离散表达;二值化,将数据值映射为二值区间
- 属性变换:将某个属性的所有可能值一一映射到另一个空间(如指数变化,取绝对值)。标准化,将数据区间变化到某个统一的区间范围;归一化,将数据区间映射到 [0, 1]
3.3 数据组织与管理
数据管理包括对数据进行有效的收集、存储、处理和应用的过程。
数据组织的层次体系:位、字符、数据元、记录、文件、数据库
- 记录是逻辑上相关的数据元的组合
- 文件是逻辑上相关的记录的集合
- 数据库是一种计算机系统资源共享的数据集合
与数据可视化有关的常用数据组织和管理形式:
- 文件存储:灵活、冗余、不一致、难以约束、安全性低
- 结构化文件格式:采用标记语言格式将数据进行结构化组织
- 数据库:数据组织的高级形式,存储在计算机设备内、有组织的、共享的、统一管理的数据集合
3.3.1 数据清洗和精简
解决以下这些数据质量问题的方法称为数据清洗:
- 噪声与离群值:噪声指对真实数据的修改;离群值指与大多数数据偏离值较大的数据
- 数据缺失
- 数据重
数据精简
- 在数据存储、分析层面降低数据复杂度(高维、多尺度特征)
- 在可视化层面替身视觉有效性、特征保留度
3.3.2 数据整合和集成
数据整合指将不同数据源的数据进行采集、清洗、精简和转化后统一融合在一个数据集中,并提供统一数据视图的数据集成方式
- 物化式:物理集中
- 虚拟式:虚拟层,提供统一的数据访问接口
数据集成指数据库应用中结合不同资源的数据并提供数据集合的统一访问
3.3.3 数据库
- 数据库是数据的集合,同时包含对数据的相关组织的操作。
- 数据库结构的基础是数据模型,它是数据描述、数据联系、数据域以及一致性的约束的集合。数据模型有
- E-R 模型,是一种基于对象的逻辑模型,根据现实中的实体及实体见的关系对数据进行抽象构建
- 关系模型,基于记录的逻辑模型,由关系数据结构、关系操作集合、关系完整性约束三部分组成
- 关系型数据库在数据可视化应用方面的缺陷:
- 数据量较大时难以满足高性能
- 存储导向而不是语义导向
- 事件通知通过触发器机制实现,难以满足实时性
- 非结构化数据是主流
- NoSQL
3.3.4 数据仓库
- 数据仓库指面向主题的、集成的、与时间相关的、主要用于存储的数据集合,支持管理部门的决策过程,其目的是构建面向分析的集成化数据环境,为分析人员提供决策支持。
- 基本架构是数据流入/流出的过程,分为三层:源数据、数据仓库、数据应用
- 流水线成为 ETL
- 抽取 Extract:从一个或多个数据源抽取原始数据
- 转化 Transform:数据变换,包括清理、重构、标准化等
- 装载 Load:将转化过的数据存储
- 数据仓库的特点:
- 围绕某个应用目标、应用领域或使用者感兴趣的内容
- 可以不断更新和增长
- 查询优化
- 能处理非结构化或结构化数据
3.4 数据分析与挖掘
- 数据分析指组织有目的地采集数据、详细研究和概括总结数据,从中提取有用信息并形成结论的过程。
3.4.1 探索式数据分析
- 关注数据本身,包括结构、离群值、异常值和数据导出的模型
- 流程:问题,数据,分析,模型,结论
3.4.2 联机分析处理
- 联机分析处理(OLAP)是一种交互式探索大规模多维数据集的方法。
- 核心是表达多维数据模型(多维数组)
3.4.3 数据挖掘
- 数据挖掘指设计特定算法,从大量数据集中取探索发现知识或者模式的理论和方法
- 数据挖掘与信息可视化的流程对比
- 数据挖掘:数据 -> 计算模型 -> 假设
- 信息可视化:数据 -> 视觉模型 -> 假设
- 数据挖掘的主要方法:
- 分类(预测性方法)
- 聚类(描述性方法)
- 概念描述(描述性方法)
- 关联规则挖掘(描述性方法)
- 序列模式挖掘(描述性方法)
- 回归(预测性方法)
- 偏差检测(预测性方法)
- 可视化数据挖掘
- 知识发现的五个基本步骤
- 选择
- 预处理
- 变换
- 数据挖掘
- 解释与评估
3.5 数据工作流
- 数据工作流指为数据处理和分析流程定义的自动过程,本质是计算业务过程的部分或整体在计算机应用环境下的自动化
3.6 数据科学的挑战
- 如何高效地数据存储和访问,构建结构化数据与非结构化数据的关联,存储异构、多元数据
- 如何从大数据中获取跟家有效的信息和知识
- 高维数据可视化,复杂、异构数据可视化,海量数据实时交互设计,大数据可视分析流程等
第四章 数据可视化基础
4.1 数据可视化基本框架
数据可视化的基本流程和可视化设计的多层次模型。
4.1.1 数据可视化流程
- 科学可视化早期流水线:原始数据 - 数据分析 - 预处理数据 - 过滤 - 关注数据 - 映射 - 几何数据 - 绘制 - 图像数据
- 信息可视化模型:将流水线改进成贿赂且用户的交互可以出现在流程任何阶段
- 可是分析学流程:通过人机交互将自动和可视分析方法结合,从输入的数据到知识有两条途径(交互的可视化方法和自动的数据挖掘方法)
- 在任意一种可视化或可是分析流水线中,人是核心要素
- 数据可视化流程中的核心要素:
- 数据表示与变换
- 数据的可视化呈现:选择最合适的视觉编码形式
- 用户交互
4.1.2 数据可视化设计
数据可视化设计的四个级联的层次:
- 概括现实生活中用户遇到的问题
- 抽象相应数据类型的操作
- 设计编码和交互方法
- 实现算法和交互
4.2 可视化中的数据
为了提高可视表达的准确性,需要研究数据的分类及其对应的可视化编码方法
4.2.1 数据认知
对数据的认知从数据模型到概念模型
- 数据模型:浮点数、分类
- 概念模型:温度、性别
4.2.2 数据类型
- 根据测量标度:基本操作/用途,集合操作,允许的统计计算
- 类别型数据:判断是否相等,允许互换元素间位置,类别、模式、列联相关
- 有序型数据:判断大小,计算单调关系,终止、百分位数
- 区间型数据:判断差别,允许元素间线性加减操作,平均值、标准方差、等级相关、积差相关
- 比值型数据:判断比例,能判断元素见的相似度,变异系数
- 在可视化中精简为三种:
- 类别型数据
- 有序型数据
- 数值型数据(包括区间型和比值型)
4.3 可视化的基本图表
按照所呈现的信息和视觉复杂程度分为三类:原始数据绘图、简单统计值标绘、多视图协调关联
4.3.1 原始数据绘图
可视化原始数据的属性值,直接呈现数据特征
数据轨迹
- 单变量数据:x 轴自变量,y 轴因变量
- 直观地呈现数据分布、离群值、均值的偏移等
柱状图
- 长方形的形状和颜色编码数据的属性
直方图
- 对数据集的某个数据属性的频率统计,各个部分之和等于单位整体
- 直观地呈现数据的分布、离群值、数据分布的模态
饼图
- 环状方式呈现各分量在整体中的比例
等值线图
- 用相等数值的数据点连线表示数据的连续分布和变化规律
走势图
- 通常以折线图为基础,使用高密度集的折线图表达方式展示数据随某一变量的变化趋势
散点图和散点图矩阵
- 散点图是表示二维数据的标准方法,数据以点的形式出现在笛卡尔坐标系中
- 散点图矩阵是散点图的高维扩展
维恩图
- 使用平面上的封闭图形来表述数据的集合关系
热力图
- 使用颜色表达位置相关的二维数值数据大小
4.3.2 简单统计值标绘
- 盒须图
- 最大值
- 75%
- 均值
- 25%
- 最小值
- 二维盒须图
4.3.3 多视图协调关联
- 将不同种类的绘图组合起来,每个绘图单元可以展现数据某个方面的属性
- 图 - 基本的统计图表可视化方法和适用规则
4.4 可视化设计原则
设计制作可视化图表三个主要步骤:
- 确定数据到图形元素(标记)和视觉通道的映射
- 视图的选择与用户交互控制的设计
- 数据的筛选,即确定在有限的可视化视图空间中选择适当容量的信息进行编码
4.4.1 数据到可视化的直观映射
- 考虑数据的语义和可视化用户的个性特征(用户期望)
- 利用已有的先验知识,降低对信息的感知和认知成本
- 基于不同视觉编码通道的组合
- 使用正确的视觉通道去编码数据信息
4.4.2 视图选择与交互设计
- 首先考虑被广泛认可并熟悉的视图设计
- 提供交互手段
- 滚动与缩放
- 颜色映射的控制
- 数据映射方式的控制
- 数据缩放和裁剪工具
- LOD 控制(细节层次)
4.4.3 信息密度——数据的筛选
- 展示合适的信息(非过多、过少)
- 提供数据筛选的操作,让用户选择展示的部分
4.4.4 美学因素
- 标注、网格、颜色选取等
- 三种提高美学性方法:
- 聚焦:吸引注意力到重要元素
- 平衡:有效利用空间、平衡分布
- 简单:避免过多元素造成混乱
4.4.5 动画与过渡
- 信息可视化结果的两种形式:
- 可视化视图
- 可视化系统(可交互数据环境)
- 动画与过渡效果的功能:
- 用时间换取空间,在优先的屏幕空间中展示更多的数据
- 辅助不同可视化视图之间的转换与跟踪,或者辅助不同可视化视觉通道的变换
- 增加用户在可视化系统中交互的反馈效果
- 引起观察者注意
4.4.6 可视化隐喻
- 隐喻:隐喻本体、隐喻喻体、可视化变量
- 时间隐喻、空间隐喻
4.4.7 颜色与透明度
- α 通道
- 颜色混合的计算公式
4.5 可视化理论发展
- 作为一门学科,还处于发展阶段
4.5.1 图形符号学
- 信息的可视化编码原则,定义了二维图形及其对信息的表达过程:
- 图形(可视化)由传输不同信息的图形符号组成
- 图形符号(点、线、面)用视觉变量(位置变量、视网膜变量)描述
- 位置变量:图形在二维平面上的位置;视网膜变量:包括尺寸、数值、纹理、颜色、方向和形状
- 视网膜变量可以表达不同层次的组织,且变量之间存在关联性、选择性、有序型、定量性
4.5.2 关系数据的图形表示
- 用图形语言描述和定义可视化的表达
- 一个图形句子有一系列的元组组成
- 图形语言和组合算子
4.5.3 图形语法
- 一种底层统计图形生成语言,用于构造不同类型的统计图形
- 图形的构造过程:规范定义、组装、显示
- 两个重要的可视化概念:
- 数据和它们的视觉表达应该被区分
- 可应用不同的算子构造数据变量的可视化
4.5.4 基于数据类型的研究
- 数据分为 7 类:
- 一维
- 二维
- 三维
- 时间
- 多维
- 树
- 网络
4.5.5 基于数据状态模型的研究
- 可视化刘粗鞥分解为四个数据转换阶段和三种数据转换操作
- 数据阶段:
- 数值:原始数据
- 分析抽象表达:关于数据(信息)的数据,及元数据
- 可视化抽象表达:使用可视化技术,在屏幕上显示的可视信息
- 视图:可视化映射的最终产品
- 转换操作:
- 数据转换:从值中生成一些分析抽象表达
- 可视化转换:从分析抽象表达中获取可视化抽象形式,即可视化内容
- 视觉映射转换:将信息转化为可视化形式,显示为图形视图
- 数据阶段:
4.5.6 多维关系数据库可视化分析系统
- Polaris 系统,可支持大规模多维关系型数据库的查询、分析和可视化,完成关系型数据库中的主要挑战:发现结构和模式,发现因果关系