时序数据可视化
与可视分析
时间是最基本的数据维度之一。本章探索如何用折线图、主题河流图、环形图、日历热力图、螺旋图等方法展示时序数据中的趋势、周期和异常,以及如何用动态时间规整(DTW)等算法辅助时序分析,最终用数据叙事讲好时间的故事。
时序数据与时间的特性
时序数据是按照时间顺序排列的数据序列,广泛存在于金融、气象、医疗和社交媒体等领域。理解时间本身的特性,是设计合适的时序可视化方法的基础。
时间具有四个核心特性,这些特性决定了不同场景下应选择不同的可视化编码:
时间具有天然的先后顺序,数据点在时间轴上排列。这是折线图等线性可视化的基础。
时间可以是一个精确的时刻,也可以是一个时段。事件型数据是时间点,持续型数据是时间范围。
许多时间数据具有周期模式:日周期、周周期、年周期等。环形可视化特别适合展示周期性。
不同时间序列之间可能存在相关、因果或延迟关系。多序列可视化和DTW等算法可揭示关联性。
小测验:7.1 时序数据与时间特性
+20 XP时序可视化方法
针对不同的时间特性和分析需求,研究者设计了多种时序可视化方法。它们在时间映射方式上各有不同:线性映射到水平轴、映射到圆弧、映射到二维网格、映射到螺旋线等。
线性时序可视化是最直观的方法:将时间映射到水平轴,数值映射到纵轴。常见形式包括折线图(数值映射)、排名折线图(排名映射)、面积图(面积映射),以及ThemeRiver(主题河流图)和堆叠面积图。
ThemeRiver 是一种特殊的堆叠面积图,将数据流以河流的形式展示,中心基线居中,上下对称扩展。它特别适合展示多个主题/类别随时间的变化趋势和相对比例。
切换显示模式,拖动下方的刷选区域可缩放时间范围。悬停查看数据详情。
小测验:7.2.1 线性可视化
+20 XP环形可视化将时间映射到圆弧上,特别适合展示周期性数据。它可以是圆形时间表示(如时钟展示 24 小时数据)或螺旋时间表示。
环形可视化的优点在于:天然体现时间的周期性,首尾相连,方便比较同一周期内不同时刻的数据。缺点在于:内圈面积小,外圈面积大,可能产生视觉偏差;不适合展示长时间的趋势。
以时钟形式展示 24 小时的数据模式。切换不同数据和周期。悬停查看数值。
小测验:7.2.2 环形可视化
+20 XP二维时序可视化将时间的两个层级分别映射到二维网格的行和列。最典型的例子是日历热力图(Calendar Heatmap),将"周几"映射到纵轴,"第几周"映射到横轴,数值用颜色编码。
日历热力图的经典应用是 GitHub 的贡献图——每个小格子代表一天,颜色深浅表示活跃程度。时间矩阵则将时间分为更灵活的行列组合,如小时-天、月-年等。
类似 GitHub 贡献图的日历热力图。悬停查看具体日期和数值。点击"随机数据"刷新。
小测验:7.2.3 二维可视化
+20 XP螺旋形可视化结合了线性和环形的优点:它既能展示周期性(每圈代表一个周期),又能展示长期趋势(螺旋向外扩展)。螺旋每一圈对应一个周期单元,多圈堆叠在一起便于对比不同周期之间的差异。
适用场景包括:展示跨多年的季节性数据、对比不同年份的月度/周度模式等。
小测验:7.2.4 螺旋形可视化
+20 XP投影可视化将时间序列视为高维数据,每个时间序列是高维空间中的一个点,然后使用 PCA、t-SNE 等降维方法投影到二维平面。这样可以将相似的时间序列聚集在一起,发现时间序列之间的模式和聚类。
例如,将一年 365 天的每日气温数据视为一个 365 维的向量,不同城市就是高维空间中的点。通过投影可以发现哪些城市的气温模式相似。
时间的维度与时序可视分析算法
时序可视分析不仅需要可视化方法,还需要算法支持。其中动态时间规整(DTW, Dynamic Time Warping)和时间粒度变换是两个重要的时序分析算法。
DTW 解决的核心问题是:两个时间序列可能在时间轴上有"拉伸"或"压缩",传统的逐点距离(如欧氏距离)无法正确衡量它们的相似性。DTW 通过动态规划找到最优的对齐路径,允许时间轴的非线性扭曲。
时间粒度变换则允许用户在不同时间尺度间切换(如从秒到分钟、从天到月),通过聚合操作(求和、均值、最大值等)来观察不同粒度下的数据特征。
观察 DTW 如何对齐两条形状相似但时间偏移的序列。点击"随机序列"生成新数据,或调整偏移量。
小测验:7.3 时序分析算法
+20 XP时序可视化与故事叙述
时序数据天然具有叙事性——事件发生有先后顺序,数据变化有起因经过结果。数据叙事(Data Storytelling)是将数据可视化与故事讲述相结合的方法,引导观众理解数据中的关键洞见。
时序可视化中的故事叙述技巧包括:动画过渡(通过动画展示数据随时间的变化)、注释标注(在关键转折点添加文字说明)、渐进式揭示(逐步展示数据,控制信息节奏)。
| 可视化方法 | 时间映射 | 适合数据 | 优点 | 缺点 |
|---|---|---|---|---|
| 折线图 | 水平轴 | 连续趋势 | 直观、通用 | 多序列时易混乱 |
| 环形图 | 圆弧 | 周期数据 | 体现周期性 | 内外圈面积不等 |
| 日历热力图 | 二维网格 | 日粒度数据 | 紧凑、易读 | 仅适合日级数据 |
| 螺旋图 | 螺旋线 | 周期+趋势 | 同时展示两者 | 解读门槛高 |
| ThemeRiver | 水平轴 | 多主题时序 | 美观、展示占比 | 不利于精确读取 |
小测验:7.4 故事叙述
+20 XP互动闯关:时序可视化挑战
通过趣味游戏巩固所学知识,在挑战中加深理解!完成每个游戏可获得额外 XP 奖励。
观察时间序列图表,判断数据的主要趋势模式。共 5 轮,每轮 12 秒!
将下方的数据场景与最适合的时序可视化方法配对。点击场景卡片,再点击方法卡片完成配对。
观察日历热力图中的模式,判断数据具有什么特征(工作日活跃/周末活跃/随机/月末高峰)。共 4 轮!