U8.04.2Lines crossing missing points fabricate continuity设计

折线跨越缺失点会伪造连续

别名: 折线插值 · 伪造趋势

概念解释

许多图表库的默认行为是用直线或曲线把缺失点两侧的数据直接连起来——视觉上折线连续平滑,暗示"这段时间数据平稳过渡"。实际上这段时间没有任何观测,线段中间的每一个点都是凭空生成的:线是插值,不是数据。读者无法从图上区分"真实观测到的连续变化"和"跨越空洞的插值连线",因为两者的视觉形态完全一样。这比缺失本身更有害:缺失至少留下了一个可见的洞,插值把洞抹平的同时留下了错误的连续性印象。

机制

插值伪造的机制在于折线图的视觉语法:连续的线段默认表示"相邻观测之间的真实连接",线上的每个点都被读者理解为有数据支撑。插值违反了这个契约——线段中间没有观测,却被画得与有观测的线段一模一样。危害的严重程度取决于缺失时段内真实变化的形态:如果真实变化恰好近似线性(如缓慢的日增长趋势),插值连线接近真实,误导较小;如果缺失时段内发生了突变(故障期间的骤降、重启后的恢复),插值画出的平滑斜线与真实路径完全不同——它既没有显示骤降,也没有显示恢复,而是画了一条"平稳经过"的假象线。视觉上区分插值与真实连接的标准做法是断线:在缺失区间中断折线(留下缺口),或用虚线/更浅的颜色画插值段并明确标注"插值"。断线的语义是"这里我们不知道",虚线的语义是"这里是猜测"——两种都诚实,实线跨越是唯一不诚实的选项。

边界

插值并非在所有情况下都应禁止:规律性采样中偶尔缺失一个点、且相邻数据高度稳定时(如每分钟采集的服务器负载,缺了 1 分钟),线性插值的误差极小且视觉中断的代价(打断阅读流)可能大于收益——此时插值加轻微视觉标记(更浅的线段)是合理折中。判断标准是"插值误差是否可能超过读者对线的解读精度":误差远小于解读精度时插值无害,误差可能改变趋势方向或掩盖突变时必须断线。另一个边界是交互补偿:如果悬浮提示在插值段明确显示"该区间无数据,线段为插值",实线的误导性大幅降低——视觉与文本的双重标注可以部分弥补单一视觉编码的不足,但不能完全替代断线的诚实性。

怎么落地

  • 折线图默认在缺失区间断开(gap),不启用自动连线跨越。
  • 必须显示插值时(如为了保持视觉流),用虚线或 50% 透明度的线段绘制插值段,并在悬浮提示标注"插值"。
  • 系统级设置禁止图表库的默认插值行为(如 ECharts 的 connectNulls 默认关闭)。
  • 验证:在测试数据中挖掉一个已知有突变的时段,检查图表是画出断口还是平滑直线跨越;平滑跨越即伪造连续实例。

延伸

  • 同组U8.04.1 缺失需与零明确区分 · U8.04.3 缺失比例影响结论可信度
  • 相邻U8.04.1 缺失需与零明确区分 · U2.03.2 类别型横轴不应用折线连接
  • 站内检索line interpolation · gap in line chart · connectNulls

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/U8.04.2