可视化任务与分析(学习笔记)
本文根据北京大学公开课《数据可视化》(共63讲)的学习笔记整理而成,课程链接:
【公开课】北京大学:数据可视化
这篇笔记是我在学习过程中,围绕课程中可视化任务分析这一核心模块所做的整理,重点关注一个根本性的问题:拿到数据之后,如何系统性地思考“该画什么图”?
课程中提出了一个贯穿始终的分析框架——对象(What)· 目的(Why)· 手段(How)。这个框架回答了可视化设计的三个核心问题:
对象(What):数据里有什么?要展示什么?
目的(Why):用户为什么看?想达成什么目标?
手段(How):用什么形式来展示和交互?
以下是我对这三部分的梳理,以及课程中案例的拆解。
一、对象(What):数据抽象
“对象”关注的是数据的本质特征——不是具体的数值内容,而是数据的结构、类型和属性。
1.1 基本数据类型
课程将数据归纳为以下基本类型:
数据项(Items):独立的个体对象(如一名球员、一所大学)
属性(Attributes):数据项的特征或性质(如国籍、排名分数)
链接(Links):数据项之间的关系(如球员与俱乐部之间的效力关系)
位置(Positions):空间中的坐标
网络(Networks):由节点和链接构成的图结构
1.2 数据集类别
不同类型的数据集,由上述数据类型的组合构成:
| 数据集类别 | 包含的数据类型 | 示例 |
|---|---|---|
| 表格 | 数据项 + 属性 | 球员列表(每行一个球员,列有国籍、俱乐部等) |
| 网络/树 | 数据项(节点)+ 链接(+ 属性) | 社交网络、组织架构图 |
| 场(连续) | 位置 + 属性(连续值) | 温度分布图 |
| 几何/空间 | 位置(+ 数据项 + 属性) | 地图上的点、线、面 |
1.3 对象分析的决策维度
在实际设计可视化之前,需要对“对象”进行一系列决策:
分析范围:是针对所有数据(全局分布、整体趋势),还是局部数据(特定子集、异常值)?
属性数量:是针对单一属性,还是多个属性之间的关系?
属性类型:属性是类别型还是有序/数值型?
数据可用性:数据是静态的还是动态的?
这些决策直接影响后续“手段”(How)的选择——类别型属性适合用颜色或形状区分,有序属性则更适合用位置或长度表达。
二、目的(Why):任务抽象
“目的”关注的是用户希望通过可视化完成什么样的认知任务。这是连接数据与设计的桥梁。
2.1 任务的核心公式
任务 = { 行动(Action),对象(Target) }
行动:用户要做什么?(如比较、识别、衍生)
对象:用户对数据的什么部分做这个行动?(如趋势、异常值、分布)
2.2 三个级别的行动
用户的行动可分为三个递进的级别:
| 级别 | 核心特征 | 典型场景 |
|---|---|---|
| 查询 | 已确定数据对象,获取具体属性值 | “哈佛大学的声誉得分是多少?” |
| 搜索 | 有目标但需要查找/定位 | “找到排名前10的大学” |
| 分析 | 目标开放,需要发现未知模式 | “这些数据里有什么有趣的模式?” |
这三个级别并非泾渭分明,在实际分析中常常组合使用。
(1)查询(Query)
识别:确认数据项的具体属性值(如鼠标悬停查看数值)
对比:比较两个或多个数据项的属性
总结:概括一组数据的分布特征
(2)搜索(Search)
搜索可根据“目标对象是否已知”和“目标位置是否已知”进行分类:
| 目标对象已知 | 目标对象未知 | |
|---|---|---|
| 目标位置已知 | 查找 | 浏览 |
| 目标位置未知 | 定位 | 探索 |
(3)分析(Analyze)
分析是最高级别的行动,包含两个方向:
使用(Consume):从可视化中提取信息
发现:寻找未知的模式、异常或趋势(探索性)
展示:将已知洞察呈现给他人(叙事性)
欣赏:非正式、社交性地观看可视化
生成(Produce):向可视化注入新的信息价值
注释:为已有可视化添加标记或说明
记录:永久保存当前可视化状态
衍生:通过对原始数据的变换生成新数据并可视化
这个数据是不同球员在世界杯中扮演的角色,看看分别来自的俱乐部,这个可视化看球员分别来自哪个国家,再进一步地在俱乐部里效力。
这个是具体的可视化。
注意
2.3 对象(Target):用户关注的数据目标
课程中进一步列出了用户可能关注的数据目标类型:
针对所有数据:趋势、异常值、特征
针对属性:
单一属性:分布、极值
多个属性:依赖、关联、相似性
针对网络数据:拓扑、路径
针对空间数据:形状
需要说明的是:“对象(Target)”不同于“数据类型(Data Type)”——数据类型是数据本身的结构属性(What),而对象是用户希望操作的数据目标(Why)。同一份表格数据,可以服务于“分析趋势”“分析分布”或“分析关联”等不同的目标。
三、手段(How):可视化构型
“手段”关注的是如何通过视觉编码和交互操作来呈现数据。
3.1 视觉编码
视觉编码是将数据属性映射为可视化元素的过程,主要包括:
排列:决定空间位置的排布方式(排序、对齐、分离等)
映射:将属性映射为视觉通道
位置:最精确的通道,适用于有序属性
颜色:适用于类别区分或数值梯度
大小/角度/强度:适用于表达数值大小
形状:适用于类别区分(有限数量)
运动:方向、速度、频率,适用于动态数据
选择原则:视觉通道的选择应服务于数据类型和用户任务。例如,类别型属性适合用颜色区分,而比较任务则更适合用位置(如条形图)来呈现。
3.2 交互操作
交互允许用户主动探索数据,常用操作包括:
改变:调整参数或视角
并置:同时查看多个视图
选择:高亮或筛选特定数据项
分离:将数据拆分为子集
叠加:在现有视图上叠加新图层
四、总结
课程中反复强调的一点是:不同的场景有不同的任务,需要把复杂的拆解为简单的抽象任务,然后判断对应的解决方案。
围绕这一核心思路,有几点体会值得记录:
可视化设计的起点是“任务”,而非“数据”。拿到数据后,首先要问的是“用户为什么看?”而非“我能画什么图?”。
抽象语汇帮助我们跳出领域限制。避免使用“排名”“分数”等具体术语,而用“比较”“排序”“识别”等抽象概念来描述任务,可以更清晰地定位问题本质。
What-Why-How 三者是递进且相互约束的:数据(What)决定了哪些视觉通道可用,任务(Why)决定了哪些视觉通道更合适,手段(How)将前两者落实为具体设计。
复杂问题需要拆解为简单任务。一个高层目标需要被拆解为多个具体任务,每个任务匹配最合适的可视化方案。
“衍生”是处理复杂性的关键策略。不直接绘制原始数据,而是通过变换使洞察“浮现”出来,从而更有效地传达信息。
笔记整理自公开课内容,如有不当之处,欢迎指正。
课程来源
本文根据北京大学公开课《数据可视化》(共63讲)的学习笔记整理而成,课程链接 :
【公开课】北京大学:数据可视化