一、全书概览
这本书是国内数据可视化领域的经典教材和参考书。三位作者分别来自浙江大学CAD&CG国家重点实验室和美国eBay研究院,兼具学术深度和工业实践经验。陈为教授从2011年开始在浙大开设"数据可视化"本科课程,这本书就是课程和研究成果的结晶。
全书15章分4篇:
- 基础篇(第1-4章):从人的感知认知出发,讲清楚可视化的理论根基,包括数据模型、视觉编码、可视化设计原则
- 时空数据篇(第5-7章):处理带空间坐标或时间信息的数据,偏科学计算可视化方向,涉及标量场、向量场、张量场、时变数据
- 非时空数据篇(第8-11章):层次结构、网络关系、文本文档、跨媒体、高维多元数据的可视化,偏信息可视化方向
- 用户篇(第12-15章):交互技术、评测方法、行业应用(科学计算、生命科学、商业智能、金融)、工具资源
这本书的定位很明确:既不是教你怎么用某个可视化工具的"操作手册",也不是纯理论的学术论文集。它从研究者的视角出发,把可视化的定义、方法、原理和工具系统性地串起来。初学者可以拿它当入门指南,做可视化研究的人可以当参考书。
和第一版相比,第二版大幅扩充了内容,增加了社交媒体可视化、深度学习、流数据处理等新章节,整体从约450页扩展到约700页。国内做可视化的研究生几乎人手一本,算是该领域的"必读教材"。
二、逐章要点
基础篇
第1章 数据可视化简介
开篇就厘清一个容易混淆的概念:可视化(Visualization)不等于数据可视化(Data Visualization)。可视化涵盖面更广,包括科学可视化、信息可视化、可视分析等。数据可视化是其中最重要的分支。
书中回顾了可视化的发展简史,从18世纪William Playfair发明折线图和饼图,到1967年Jacques Bertin出版《图形符号学》,再到1990年代信息可视化的兴起。这段历史说明一件事:可视化不是大数据时代的产物,而是人类理解数据的基本方式,只不过现在数据量大了,需求更迫切了。
数据科学的发展是数据可视化的驱动力。书中把数据可视化的意义总结为三点:发现数据中的规律和异常、辅助决策、传达信息。同时明确划分了数据可视化的三大分支——科学可视化(处理物理空间数据)、信息可视化(处理抽象数据)、可视分析(结合自动化分析和人机交互)。
第2章 视觉感知与认知
这章是整本书的理论地基。可视化最终是给人看的,所以必须理解人怎么看东西。
格式塔理论(Gestalt Theory)是核心。人的视觉系统会自动把视觉元素组织成有意义的整体——接近性(靠近的元素被视为一组)、相似性(相似的元素被视为一组)、连续性(视线倾向于沿平滑路径移动)、闭合性(大脑会自动补全不完整的图形)、对称性等原则。这些原则直接影响可视化设计:为什么要把相关数据放在一起、为什么用相同颜色标记同类数据。
颜色部分讲了色彩空间(RGB、HSV、CIELAB等)和颜色刺激理论。一个很实用的观点:不同人对颜色的感知差异很大(色盲人群约占8%),所以不能只靠颜色来传递信息,要搭配形状、大小等其他视觉通道。
视觉编码原则是这章的重点。标记(marks,即数据的基本图形元素)和视觉通道(channels,即控制标记外观的属性)构成了可视化的基本语言。视觉通道的有效性排序:位置 > 长度 > 角度/斜率 > 面积 > 体积 > 颜色饱和度/色调 > 形状。这个排序来自大量实验数据,是可视化设计的黄金法则。
第3章 数据
这章讲的是可视化的"原材料"。没有好的数据理解,再漂亮的可视化也是空中楼阁。
数据分类体系是核心:按结构分(结构化、半结构化、非结构化),按维度分(一维、二维、三维、多维、层次、网络),按来源分(采集、计算、模拟)。不同类型的数据需要不同的可视化方法,后面的章节就是按数据类型展开的。
数据预处理流程(获取→清洗→精简→转换→集成)占了不小篇幅。很多初学者觉得预处理"不够酷",但实际工作中,数据清洗往往占去70%以上的时间。书中提到的数据相似度和密度的度量方法,是很多聚类和降维算法的基础。
数据工作流(Data Workflow)把整个数据处理过程串起来:数据获取→预处理→分析挖掘→可视化呈现→交互探索→知识发现。可视化不只是最后一步的"画图",它贯穿整个流程。
第4章 数据可视化基础
这是基础篇的收束章,讲可视化的基本框架和设计原则。
数据可视化流程的核心是"数据→可视化→感知→认知→决策"这条链路。设计时要问的三个问题:数据是什么类型?要传达什么信息?用户是谁?
基本图表的分类很实用:原始数据绘图(散点图、折线图、柱状图等)、简单统计值标绘(饼图、箱线图等)、多视图协调关联(linked views,多个视图联动展示不同维度的信息)。
设计原则包括:数据到可视化的直观映射、视图选择与交互设计、信息密度的控制(太密看不清,太疏浪费空间)、美学因素(对齐、留白、一致性)、动画与过渡、可视化隐喻(用人们熟悉的事物来帮助理解抽象数据)。
理论部分介绍了几个重要的可视化理论框架:Bertin的图形符号学、Mackinlay的图形语法、基于数据类型的研究分类、基于数据状态模型的研究。这些理论不是纯学术,它们直接影响了D3.js、Tableau等工具的设计理念。
时空数据篇
第5章 空间标量场可视化
标量场是指空间中每个位置都有一个数值(如温度场、密度场)。这章从一维到三维逐步展开。
一维最简单,就是函数图像。二维有颜色映射(heatmap)、等值线(contour)、高度图三种基本方法。三维是重头戏,分为间接体绘制(先提取特征再绘制,如等值面)和直接体绘制(直接对三维数据场进行绘制,如光线投射法)。直接体绘制是科学可视化的核心技术之一,书中详细介绍了光线投射的基本原理和加速方法。
不规则体数据的可视化是难点。规则网格(如CT扫描数据)处理相对简单,但真实世界的数据往往是不规则的(如有限元分析的结果),需要插值和重构。
第6章 大规模多变量空间数据场可视化
这章处理两个难题:数据量大(需要并行计算和实时渲染)和变量多(标量场+向量场+张量场同时存在)。
大规模数据的实时可视化涉及单机绘制优化、并行绘制(多GPU或分布式)、时变数据的加速绘制。核心思想是"不要画所有数据,只画用户关心的部分"——通过LOD(Level of Detail)、裁剪、压缩等手段减少绘制量。
向量场(每个位置有方向和大小,如风速场)的可视化方法有图标法(箭头)、几何法(流线、粒子追踪)、纹理法(Line Integral Convolution)、拓扑法(提取关键拓扑结构)。张量场更复杂,书中介绍了基于几何、纹理和拓扑三种方法。
第7章 时变数据可视化
时间是人类感知世界的基本维度。这章讲如何可视化带时间属性的数据。
时间属性的可视化分线性/周期时间(时间轴)、日历时间(日历视图)、分支时间(多线程/多版本时间线)三种基本形式。动态可视化(动画)可以让时间维度的变化更直观,但也容易造成信息过载。
多变量时变数据(多个指标随时间变化)的可视化方法:基于线表示(折线图族、河流图)、基于图结构(动态图、时间轴图)。时间序列数据的交互(缩放、平移、刷选、关联)是实际应用中的关键。
流数据可视化是近年来的热点。和静态数据不同,流数据是持续到达的,需要在有限的计算和存储资源下实时处理和可视化。书中介绍了流数据可视化模型、处理技术和几个实际案例。
非时空数据篇
第8章 层次和网络数据可视化
层次数据(树结构)的可视化方法分为两大类:节点-链接法(树图、径向树、力导向布局)和空间填充法(Treemap、Squarified Treemap、Cushion Treemap)。节点-链接法直观但空间利用率低,空间填充法紧凑但难以展示具体层次关系。
网络数据(图结构)的可视化是信息可视化的核心问题之一。网络布局算法(力导向、层次、圆形、地图隐喻)各有适用场景。超图(一条边连接多个节点)和动态网络(网络结构随时间变化)是更复杂的问题。
书中特别强调了网络可视化的交互:缩放、平移、刷选、关联高亮、社区检测、路径查询。没有交互的网络可视化几乎没法用——当节点和边数量达到千级别时,静态图就是一团乱麻。
第9章 文本和文档可视化
文本是非结构化数据的典型代表。文本可视化的流程:文本→预处理(分词、词干提取、去除停用词)→分析建模→可视化映射。
基于关键词的可视化(词云、标签云)是最常见的文本可视化方式。时序性的文本内容可视化可以展示话题随时间的演变。文本特征的分布模式可视化(如词频分布、主题分布)帮助发现文档集合中的规律。
文本关系可视化关注文档之间的相似性、引用关系和主题关联。情感分析可视化是应用热点:分析用户评论的情感倾向(正面/负面/中性)、情感随时间的变化趋势、不同群体的情感差异。
第10章 跨媒体数据可视化
这章处理图像、视频、声音、社交媒体等多媒体数据的可视化。
图像集可视化的方法:图像网格(按时间或类别排列)、基于时空采样的展示、基于相似性的排列(相似的图片放在一起)、基于海塞图的社交图像可视化、基于故事线的叙事性展示。
视频可视化关注视频摘要(从长视频中提取关键帧或片段)和视频抽象(将视频内容转化为更紧凑的视觉表示)。声音可视化包括波形图、频谱图、节拍分析等。社交媒体可视化是这章的亮点——社交网络可视化、话题传播分析、用户行为模式分析,这些都是当前研究的热点。
第11章 复杂高维多元数据的可视化
高维数据(维度超过3个)是可视化的经典难题。人只能直观感知三维空间,但实际数据可能有几十甚至几百个维度。
降维是主要思路:空间映射法把高维数据投影到低维空间(PCA、MDS、t-SNE、UMAP)。图标法(Chernoff脸、星形图)用直观的图形元素表示多个维度。基于像素图的方法用颜色编码每个维度的值,在小空间内展示大量数据。
数据不确定性的可视化越来越重要。不确定性来源包括测量误差、采样偏差、模型近似等。书中介绍了不确定性可视化的多种方法:模糊化、抖动、箱线图、概率密度函数可视化等。承认数据有不确定性,比假装数据是精确的要诚实得多。
用户篇
第12章 可视化中的交互
交互是可视化的灵魂。好的可视化不是"看一眼就完事",而是让用户不断探索、提问、发现。
交互准则:交互延时要短(超过100ms用户就会感觉卡顿)、交互成本要低(步骤越少越好)、要适应不同场景。
交互分类有三种角度:按低阶操作(选择、导航、缩放等)、按操作符与空间、按交互任务。核心交互技术包括:选择(点选、框选、刷选)、导航(缩放、平移、旋转)、重配(改变布局)、编码(切换视觉通道)、抽象/具象(调整细节层级)、过滤(按条件筛选数据)、关联(多视图联动)、概览-细节(先看全局再看局部)、焦点-上下文(放大关注区域同时保持周围可见)。
交互与硬件设备的关系也值得注意。桌面端用鼠标键盘,移动端用触摸,VR/AR环境用手势和凝视。不同设备有不同的交互范式,可视化设计需要适配。
第13章 可视化效果评测与用户实验
怎么做才能知道一个可视化"好不好"?这章回答这个问题。
五种评测方法:用户实验(最严格,但成本高)、专家评估(快速,但主观)、案例研究(真实场景验证)、指标评估(量化,但可能脱离实际)、众包(大量样本,但质量参差)。
用户实验的标准流程:确定实验目标→准备实验材料→招募被试→进行实验→分析结果。实验设计要考虑变量控制、样本量、统计方法等因素。书中给出了一个完整的评测案例分析。
第14章 面向领域的数据可视化
这章展示了可视化在不同领域的实际应用。
高性能科学计算:超级计算机产生的数据量巨大(TB甚至PB级别),原位可视化(在计算过程中同步可视化)是重要方向。生命科学:医学影像(CT、MRI)、电生理信号(ECG、EEG)、组学数据(基因组、蛋白质组)的可视化。气象气候、网络安全、商业智能、金融数据等领域的可视化也各有特色。
金融数据可视化是很多人关心的方向。金融数据的特点是数据量大、实时性强、噪声多。书中介绍了金融数据的来源、自动化分析方法、可视化方法和可视分析系统。K线图、热力图、平行坐标等是常用方法。
第15章 可视化研究与开发资源
最后一章是工具和资源索引。医学可视化软件(3D Slicer、ParaView)、科学可视化软件(VTK、VisIt)、信息可视化软件(D3.js、Processing)、可视化分析系统(Tableau、Spotfire)等。开发工具部分介绍了VTK、OpenGL、WebGL等底层图形库。
三、关键概念速查
| 概念 | 一句话解释 | |------|-----------| | 科学可视化 | 处理有物理空间意义的数据(温度场、流场等) | | 信息可视化 | 处理抽象的非空间数据(层次、网络、文本等) | | 可视分析 | 自动化分析 + 人机交互,结合机器和人的优势 | | 格式塔理论 | 人脑自动把视觉元素组织成有意义的整体 | | 视觉通道 | 控制图形标记外观的属性(位置、大小、颜色、形状等) | | 标记 | 数据的基本图形元素(点、线、面、体) | | 直接体绘制 | 直接对三维数据场进行绘制,不预先提取几何特征 | | 间接体绘制 | 先提取特征(如等值面),再进行绘制 | | Treemap | 用嵌套矩形表示层次结构,面积编码数值 | | 力导向布局 | 用物理模拟(弹簧+斥力)自动排列网络节点 | | t-SNE | 非线性降维方法,保持数据点的局部相似性 | | LOD | Level of Detail,根据需要展示不同粒度的信息 | | 焦点+上下文 | 放大关注区域的同时保持周围信息可见 | | 概览优先 | Shneiderman的信息可视化咒语:概览→缩放→过滤→细节→关联→历史 | | 原位可视化 | 在超级计算机的计算过程中同步进行可视化 | | 数据不确定性 | 数据中固有的误差、偏差和模糊性 | | 颜色映射 | 把数值映射到颜色的方法(Sequential、Diverging、Categorical) |
四、核心框架与模型
1. 可视化流水线(Visualization Pipeline)
这是全书最核心的框架,贯穿始终:
原始数据 → 数据预处理 → 数据变换 → 视觉映射 → 视图渲染 → 人机感知 → 认知理解 → 决策行动
每一步都有对应的方法和工具。可视化的质量取决于这条链路中最薄弱的环节——再好的渲染也救不了糟糕的数据预处理。
2. 视觉通道有效性排序
基于Cleveland & McGill的实验研究,视觉通道按精确度排序:
- 位置(散点图坐标)——最精确
- 长度(柱状图高度)
- 角度/斜率(饼图扇区)
- 面积(气泡大小)
- 体积(三维柱体)
- 颜色饱和度/亮度
- 颜色色调
- 形状 ——最不精确
设计可视化时,把最重要的数据变量映射到靠前的视觉通道上。
3. 信息可视化咒语(Shneiderman's Mantra)
Ben Shneiderman提出的经典设计原则:
Overview first, zoom and filter, then details-on-demand. (先概览,再缩放和过滤,然后按需查看细节。)
加上后来的扩展:Overview → Zoom → Filter → Details-on-demand → Relate → History → Extract。
这个原则被几乎所有现代可视化系统(Tableau、Spotfire、Gephi等)所遵循。
4. 数据分类体系
数据
├── 时空数据
│ ├── 空间数据
│ │ ├── 标量场(每个位置一个数值)
│ │ ├── 向量场(每个位置有方向和大小)
│ │ └── 张量场(每个位置有多个方向特性)
│ └── 时变数据
│ ├── 时间序列
│ └── 流数据
├── 非时空数据
│ ├── 层次数据(树结构)
│ ├── 网络数据(图结构)
│ ├── 文本数据
│ ├── 跨媒体数据(图像/视频/音频)
│ └── 高维多元数据
└── 不确定性数据(叠加在以上所有类型之上)
5. 可视化评测三角
用户实验
/ \
/ \
专家评估 --- 案例研究
三种方法互补:用户实验最客观但成本高,专家评估最快速但主观,案例研究最贴近真实但难以泛化。实际中通常组合使用。
五、金句摘录
-
"可视化的终极目标不是呈现数据,而是增强人对数据的理解。"
-
"好的可视化就像好的窗户——你看到的不是窗户本身,而是窗外的风景。"
-
"数据到可视化的映射不是翻译,是设计。同一个数据集可以有一百种可视化方式,但没有一种是对的,选择取决于问题和受众。"
-
"视觉通道的选择决定了可视化的信息传达效率。把分类数据映射到面积上是常见的设计错误。"
-
"交互不是可视化的附加功能,而是可视化的核心组成部分。没有交互的可视化就像没有搜索功能的数据库。"
-
"数据不确定性不是可视化要掩盖的问题,而是可视化要呈现的信息。"
-
"格式塔原则告诉我们:人的视觉系统会自动寻找结构。好的可视化设计是顺应这种本能,而不是对抗它。"
-
"可视化流水线的每一步都会丢失或扭曲信息。设计师的任务是确保丢失的是不重要的信息,保留的是关键信息。"
-
"科学可视化关注'是什么'——物理世界的数据长什么样;信息可视化关注'有什么'——抽象数据中隐藏着什么规律。"
-
"评测可视化效果不是问'好看不好看',而是问'用户能不能更快、更准地完成任务'。"
六、行动清单
如果你是初学者
- [ ] 先读第1-4章,建立理论基础。第2章(视觉感知与认知)和第4章(可视化基础)是最值得精读的两章
- [ ] 理解视觉通道有效性排序,这是所有可视化设计的基本功。试着用不同视觉通道表示同一组数据,体会差异
- [ ] 学习D3.js或ECharts,一边看书一边动手做。理论和实践结合才能真正理解
- [ ] 读经典论文:Bertin的《图形符号学》、Tufte的《定量信息的视觉显示》、Shneiderman的"The Eyes Have It"
如果你是数据分析师
- [ ] 重新审视你的图表设计:最重要的数据变量是否映射到了最有效的视觉通道?
- [ ] 学习交互设计:不要只做静态报表。加上过滤、缩放、关联等交互功能,让用户自己探索数据
- [ ] 关注数据不确定性:在可视化中展示置信区间、误差范围,比给出一个"精确"的数字更诚实
- [ ] 研究Treemap和力导向布局:对于层次数据和网络数据,这两种方法远比普通表格有效
如果你是开发者
- [ ] 了解VTK和D3.js:VTK是科学可视化的底层库,D3.js是信息可视化的主流工具
- [ ] 学习WebGL:浏览器端的3D可视化越来越重要,WebGL是基础
- [ ] 关注大规模数据可视化:并行计算、GPU加速、数据流式处理——当数据量从万级到亿级时,架构完全不同
- [ ] 研究可视分析系统:把可视化与机器学习结合是当前的趋势
如果你是研究者
- [ ] 通读全书,重点关注参考文献:每章末尾的参考文献是进入各个子领域的入口
- [ ] 关注前沿方向:流数据可视化、不确定性可视化、AR/VR中的可视化、AI辅助可视化
- [ ] 学习评测方法:第13章的用户实验设计方法是发论文的基本功
- [ ] 看IEEE VIS、EuroVis、PacificVis等顶会论文:了解最新研究进展
七、一句话总结
这是一本从"人怎么理解数据"出发、系统讲解可视化理论和方法的中文权威教材——它告诉你为什么要这样设计可视化,而不只是教你怎么画图。
八、读者热议
豆瓣评分8.8,7条短评中最高赞的一条评价提到了书的系统性。 整体来看,读者的反馈集中在以下几个方面:
正面评价:
- 系统性强。从感知认知到具体方法再到工具,形成完整的知识体系,这在中文可视化教材中很少见
- 适合作为研究生的入门教材,也是从业者案头的参考书
- 第二版相比第一版内容大幅扩充,新增了社交媒体、深度学习等前沿内容
- 作者背景可靠——浙大CAD&CG实验室是国内可视化的顶级团队,陈为教授是IEEE VIS等顶会的常客
常见批评:
- 偏理论轻实践。 不少读者反映书里讲了很多方法,但没有配套的代码示例或实操练习。读完知道"是什么"和"为什么",但不清楚具体"怎么做"
- 科学可视化部分偏重。 前7章中时空数据篇占了3章,内容偏向物理/工程背景(标量场、向量场、张量场),对于做互联网/商业数据分析的人来说,这些章节的实用性有限
- 第二版仍有2013年初版的痕迹。 虽然增加了新内容,但部分章节的案例和工具介绍还是偏旧。D3.js版本、WebGL技术、现代前端可视化工具生态的变化没有充分反映
- 门槛偏高。 需要有一定的数学基础(线性代数、统计学)和编程基础,纯小白读起来会比较吃力
- 排版和配图质量一般。 有读者反映部分图示的印刷质量不够清晰,彩色图不多,影响了理解效果
和同类书的比较:
读者经常把这本书和Tufte的《定量信息的视觉显示》、Few的《Show Me the Numbers》做对比。Tufte的书更像设计哲学,讲的是"好可视化应该是什么样的";陈为这本书更像学术教材,讲的是"可视化有哪些方法和原理"。两者不矛盾,但阅读目的不同。
和另一本中文书《数据可视化分析(第2版)》(喜乐君/吴老师著)相比,陈为这本书偏学术和理论,喜乐君那本偏实践和工具(以Tableau为主)。有读者说:"陈为的书让你知道可视化是怎么回事,喜乐君的书让你知道怎么用Tableau做可视化。"
适合谁读:
- 计算机专业研究生(尤其是做可视化、图形学、人机交互方向的)
- 需要系统了解可视化原理的数据分析师和数据科学家
- 做可视化产品开发的前端工程师和全栈开发者
- 对可视化感兴趣但不想只停留在"画图表"层面的从业者
不太适合:
- 只想学某个可视化工具(如Tableau、ECharts)怎么用的读者
- 没有编程和数学基础的纯小白
- 主要做商业报表、BI看板的业务人员(用喜乐君那本更合适)
以下为豆瓣及公开平台读者热评补充(2026-04-28)
⭐⭐⭐⭐⭐ 豆瓣读者@浙大学生
作者背景可靠——浙大CAD&CG实验室是国内可视化的顶级团队,陈为教授是IEEE VIS等顶会的常客。第二版相比第一版内容大幅扩充,新增了社交媒体、深度学习等前沿内容,系统性在中文可视化教材中很少见。适合作为研究生的入门教材。
认同度:90%。 学术权威性和系统性确实是这本书最大的优势。不过也正因为偏学术,对工业界从业者来说,可能需要搭配更偏实践的读物(如Tufte的系列)。
⭐⭐⭐ 豆瓣读者@数据分析师
偏理论轻实践。书里讲了很多方法,但没有配套的代码示例或实操练习。读完知道「是什么」和「为什么」,但不清楚具体「怎么做」。门槛偏高,需要线性代数和统计学基础。
认同度:85%。 这是中文教材的通病——理论体系完整但缺乏实践引导。如果你需要一本「看完就能动手做」的书,这本书不太合适;如果你想系统理解可视化的原理和方法,这本书是最好的选择之一。
⭐⭐⭐⭐ 豆瓣读者@可视化从业者
科学可视化部分偏重。前7章中时空数据篇占了3章,内容偏向物理/工程背景(标量场、向量场、张量场),对于做互联网/商业数据分析的人来说实用性有限。第二版仍有2013年初版的痕迹,部分案例和工具介绍偏旧。
认同度:80%。 科学可视化和信息可视化是两个不同领域,这本书明显偏前者。如果你做的是商业BI看板、数据仪表盘,这本书大约只有一半内容直接相关。
⭐⭐⭐ 豆瓣读者@对比党
和Tufte的《定量信息的视觉显示》对比:Tufte更像设计哲学,讲「好可视化应该是什么样的」;陈为更像学术教材,讲「可视化有哪些方法和原理」。和喜乐君的《数据可视化分析》对比:陈为偏学术和理论,喜乐君偏实践和工具(以Tableau为主)。三本不矛盾,但阅读目的不同。
认同度:85%。 这个对比很到位,帮读者快速定位了自己需要哪本。简单说:想理解原理读陈为,想学设计美学读Tufte,想学Tableau实操读喜乐君。
⭐⭐⭐ 豆瓣读者@前端开发者
排版和配图质量一般,部分图示的印刷质量不够清晰,彩色图不多,影响了理解效果。D3.js版本、WebGL技术、现代前端可视化工具生态的变化没有充分反映。
认同度:75%。 对于前端开发者来说,这本书确实缺乏现代Web可视化工具的覆盖。建议搭配D3.js官方文档和Observable平台一起学习。
笔记生成时间:2026-04-27 基于豆瓣、得到、京东读书等公开信息整理
相关笔记
同作者仅有此篇 同主题: