第二部分 · 术 / Chapter 7

时序数据可视化
与可视分析

时间是最基本的数据维度之一。本章探索如何用折线图、主题河流图、环形图、日历热力图、螺旋图等方法展示时序数据中的趋势、周期和异常,以及如何用动态时间规整(DTW)等算法辅助时序分析,最终用数据叙事讲好时间的故事。

折线图 环形图 日历热力图 螺旋图 DTW 故事叙述
7.1

时序数据与时间的特性

时序数据是按照时间顺序排列的数据序列,广泛存在于金融、气象、医疗和社交媒体等领域。理解时间本身的特性,是设计合适的时序可视化方法的基础。

时间具有四个核心特性,这些特性决定了不同场景下应选择不同的可视化编码:

1
序列性(Ordering)
时间具有天然的先后顺序,数据点在时间轴上排列。这是折线图等线性可视化的基础。
2
时间点/范围(Point/Interval)
时间可以是一个精确的时刻,也可以是一个时段。事件型数据是时间点,持续型数据是时间范围。
3
周期性(Periodicity)
许多时间数据具有周期模式:日周期、周周期、年周期等。环形可视化特别适合展示周期性。
4
关联性(Association)
不同时间序列之间可能存在相关、因果或延迟关系。多序列可视化和DTW等算法可揭示关联性。
🤔
思考:股票价格数据同时具备哪些时间特性?哪种可视化方法最适合展示股价的日内波动和跨年趋势?
🧠

小测验:7.1 时序数据与时间特性

+20 XP
Q1. 时间的"周期性"特性最适合用哪类可视化展示?
Q2. 以下哪个不是时间的四个核心特性之一?
7.2

时序可视化方法

针对不同的时间特性和分析需求,研究者设计了多种时序可视化方法。它们在时间映射方式上各有不同:线性映射到水平轴、映射到圆弧、映射到二维网格、映射到螺旋线等。

7.2.1 线性可视化

线性时序可视化是最直观的方法:将时间映射到水平轴,数值映射到纵轴。常见形式包括折线图(数值映射)、排名折线图(排名映射)、面积图(面积映射),以及ThemeRiver(主题河流图)堆叠面积图

ThemeRiver 是一种特殊的堆叠面积图,将数据流以河流的形式展示,中心基线居中,上下对称扩展。它特别适合展示多个主题/类别随时间的变化趋势和相对比例。

📈 交互演示:线性时序可视化 互动 · 支持缩放

切换显示模式,拖动下方的刷选区域可缩放时间范围。悬停查看数据详情。

💡
设计要点:折线图适合展示连续趋势,堆叠面积图可展示整体与部分的关系,ThemeRiver 则以美观的河流形式展示多主题时间变化。选择要根据分析目标和读者需求而定。
📈

小测验:7.2.1 线性可视化

+20 XP
Q1. ThemeRiver(主题河流图)与普通堆叠面积图的主要区别是?
Q2. 当需要比较多条时间序列的绝对值变化趋势时,最佳选择是?
7.2.2 环形可视化

环形可视化将时间映射到圆弧上,特别适合展示周期性数据。它可以是圆形时间表示(如时钟展示 24 小时数据)或螺旋时间表示。

环形可视化的优点在于:天然体现时间的周期性,首尾相连,方便比较同一周期内不同时刻的数据。缺点在于:内圈面积小,外圈面积大,可能产生视觉偏差;不适合展示长时间的趋势。

🔄 交互演示:环形时序可视化 互动

以时钟形式展示 24 小时的数据模式。切换不同数据和周期。悬停查看数值。

🔄

小测验:7.2.2 环形可视化

+20 XP
Q1. 环形可视化最适合展示哪类时间数据?
Q2. 环形可视化的一个主要缺点是什么?
7.2.3 二维可视化

二维时序可视化将时间的两个层级分别映射到二维网格的行和列。最典型的例子是日历热力图(Calendar Heatmap),将"周几"映射到纵轴,"第几周"映射到横轴,数值用颜色编码。

日历热力图的经典应用是 GitHub 的贡献图——每个小格子代表一天,颜色深浅表示活跃程度。时间矩阵则将时间分为更灵活的行列组合,如小时-天、月-年等。

📅 交互演示:日历热力图 互动

类似 GitHub 贡献图的日历热力图。悬停查看具体日期和数值。点击"随机数据"刷新。

📅

小测验:7.2.3 二维可视化

+20 XP
Q1. 日历热力图将时间的哪两个层级分别映射到行和列?
Q2. 日历热力图使用什么视觉通道来编码数值大小?
7.2.4 螺旋形可视化

螺旋形可视化结合了线性和环形的优点:它既能展示周期性(每圈代表一个周期),又能展示长期趋势(螺旋向外扩展)。螺旋每一圈对应一个周期单元,多圈堆叠在一起便于对比不同周期之间的差异。

适用场景包括:展示跨多年的季节性数据、对比不同年份的月度/周度模式等。

💡
螺旋图的选择:当数据既有周期性又有长期趋势时,螺旋图优于纯线性或纯环形可视化。但螺旋图的外圈面积大于内圈,解读时需注意这一偏差。
🌀

小测验:7.2.4 螺旋形可视化

+20 XP
Q1. 螺旋形可视化同时展示了时间的哪两种特性?
Q2. 螺旋形可视化中,每"圈"代表什么?
7.2.5 投影可视化

投影可视化将时间序列视为高维数据,每个时间序列是高维空间中的一个点,然后使用 PCA、t-SNE 等降维方法投影到二维平面。这样可以将相似的时间序列聚集在一起,发现时间序列之间的模式和聚类。

例如,将一年 365 天的每日气温数据视为一个 365 维的向量,不同城市就是高维空间中的点。通过投影可以发现哪些城市的气温模式相似。

🔗
核心思想:时序投影可视化的本质是将"时序相似性比较"问题转化为"高维数据降维"问题,从而利用第 6 章学过的降维方法来分析时间序列。
7.3

时间的维度与时序可视分析算法

时序可视分析不仅需要可视化方法,还需要算法支持。其中动态时间规整(DTW, Dynamic Time Warping)时间粒度变换是两个重要的时序分析算法。

DTW 解决的核心问题是:两个时间序列可能在时间轴上有"拉伸"或"压缩",传统的逐点距离(如欧氏距离)无法正确衡量它们的相似性。DTW 通过动态规划找到最优的对齐路径,允许时间轴的非线性扭曲。

时间粒度变换则允许用户在不同时间尺度间切换(如从秒到分钟、从天到月),通过聚合操作(求和、均值、最大值等)来观察不同粒度下的数据特征。

🌀 交互演示:动态时间规整 (DTW) 互动

观察 DTW 如何对齐两条形状相似但时间偏移的序列。点击"随机序列"生成新数据,或调整偏移量。

🌀

小测验:7.3 时序分析算法

+20 XP
Q1. DTW 相比欧氏距离的主要优势是什么?
Q2. 时间粒度变换从"天"聚合到"月"时,最常用的聚合操作是?
7.4

时序可视化与故事叙述

时序数据天然具有叙事性——事件发生有先后顺序,数据变化有起因经过结果。数据叙事(Data Storytelling)是将数据可视化与故事讲述相结合的方法,引导观众理解数据中的关键洞见。

时序可视化中的故事叙述技巧包括:动画过渡(通过动画展示数据随时间的变化)、注释标注(在关键转折点添加文字说明)、渐进式揭示(逐步展示数据,控制信息节奏)。

🤔
思考:Hans Rosling 的 Gapminder 演讲是经典的数据叙事案例,他通过动画散点图展示国家的健康与财富随时间的变化。这种演示方式利用了时间的哪些特性?
可视化方法时间映射适合数据优点缺点
折线图 水平轴 连续趋势 直观、通用 多序列时易混乱
环形图 圆弧 周期数据 体现周期性 内外圈面积不等
日历热力图 二维网格 日粒度数据 紧凑、易读 仅适合日级数据
螺旋图 螺旋线 周期+趋势 同时展示两者 解读门槛高
ThemeRiver 水平轴 多主题时序 美观、展示占比 不利于精确读取
📖

小测验:7.4 故事叙述

+20 XP
Q1. 数据叙事中,"渐进式揭示"的目的是什么?
Q2. 时序可视化的哪种叙事技巧最能展示"变化过程"?
🎮

互动闯关:时序可视化挑战

通过趣味游戏巩固所学知识,在挑战中加深理解!完成每个游戏可获得额外 XP 奖励。

📈趋势侦探 +30 XP

观察时间序列图表,判断数据的主要趋势模式。共 5 轮,每轮 12 秒!

轮次: 1/5 得分: 0 ⏱ 12s
🧩图表配对挑战 +30 XP

将下方的数据场景与最适合的时序可视化方法配对。点击场景卡片,再点击方法卡片完成配对。

已配对: 0/6 得分: 0
📋 数据场景(点击选择)
📊 可视化方法(点击配对)
🔍模式识别挑战 +30 XP

观察日历热力图中的模式,判断数据具有什么特征(工作日活跃/周末活跃/随机/月末高峰)。共 4 轮!

轮次: 1/4 得分: 0
📚 返回教材首页