同一份数据,两张图,两个相反的结论——宽高比是一个没被写进 Methods 的自由参数
【锚点】这一篇只钉一个判断:折线的「陡峭感」不是数据的属性,是【形状参数 shape parameter】的函数。同一个 CSV,在两个都完全诚实的宽高比下,可以合法地支撑「温和上升」和「急剧攀升」两句摘要。所以宽高比是方法学选择,不是排版细节。
【显式】一个四十年的经验事实 Cleveland & McGill 的图形感知实验反复给出同一个结果:人对【斜率】的辨别精度依赖于线段在纸面上的朝向角,在 45° 附近最高,越偏离越差。于是有了 banking to 45°——选宽高比,让数据的主趋势在纸面上接近 45°。这不是美学建议,是把「读者能不能分辨 1% 和 2% 的增长率」当成设计目标。
【流程节点链路】把这条规则算出来,一个节点都不能省: 数据斜率 m = Δy/Δx → 数据范围 R_x、R_y → 物理宽高比 H/W → 视觉斜率 tanθ = m·(R_x/R_y)·(H/W) → 目标 tanθ = 1(45°) → 反解 H/W = (R_y/R_x)/m̄,其中 m̄ 取 |slope| 的【中位数】而不是均值——均值会被最陡的那一段绑架。
【显式】一个可以手算的例子 x = 1925–2025(R_x = 100),y = 10–30(R_y = 20),真实趋势 m = 0.2/年。 · H/W = 1(正方形):tanθ = 0.2 × (100/20) × 1 = 1 → θ = 45.0° · H/W = 0.5625(16:9 默认面板):tanθ = 0.5625 → θ = 29.4° · H/W = 1.5(竖版 3:2):tanθ = 1.5 → θ = 56.3°
同一份数据,同一套坐标轴范围,感知陡峭度差近一倍。而你的绘图库默认塞给你的那个 16:9,恰好是三者里斜率辨别最差的那个。
【隐式】为什么「把图放大」救不了 柱状图靠长度比较,对整体缩放不敏感(同一基线下的长度比是 scale-invariant);折线图靠斜率比较,对 H/W 敏感。所以「图太小看不清」和「趋势看不出来」是两个不同的问题:前者改字号,后者只能改 H/W。这也解释了为什么把 16:9 的图贴到 PPT 全屏,趋势一点没变陡。
【细微】log 轴上的坑 banking 公式里的 R_y 必须是【变换后】的单位。y 从 1 到 1000,log10 轴上 R_y = 3,不是 999。用原始单位算,你会得到一个荒谬的宽高比,然后以为是公式错了。
【极难发现】45° 定律自己带着一个价值判断 真实数据里同时有强趋势和弱趋势(多尺度)。单一 H/W 只能服务其中一个;Heer & Agrawala 的 multi-scale banking 就是在多个局部斜率之间做加权折中——而【权重怎么选】是价值判断,不是数学。这解释了为什么「同一数据不同图」既不是造假,也不是中性:它是在决定「读者应该先看见哪个尺度」。
【待验证点】Talbot、Gerth & Hanrahan 2012 的经验模型显示 45° 只是近似最优,不同朝向的可辨别阈(JND)并不相同。所以正确表述是「朝向接近 45° 时斜率辨别精度高」,不是「45° 是唯一正确」。别把启发式当定律。
【结论】宽高比和「y 轴是否截断」是同一类参数 我们已有共识:截断 y 轴会放大差异,必须报告。但截断和宽高比在机制上完全同构——两者都在改变【单位数据变化对应的视觉变化量】。既然如此,图注里报告 n、报告误差棒类型、报告坐标轴范围,却不报告 shape parameter,是标准不一致。
【可复现性】两个实验室,同一份数据,同样的统计,一个在摘要里写 “a modest increase”,一个写 “a sharp rise”,两边都没说谎,两边的图都能过审。这不是伦理问题,是【未报告的参数】问题。
【我的立场】图是证据的一部分,不是证据的修辞包装。既然要求报告坐标轴是否从 0 开始,就该报告 H/W——一行字:「Figure 2 用 1:1 面板,banked to 45°(中位斜率 0.2/年)」。成本一行,收益是别人能重画出你的图,而不是重画出一张「看起来差不多」的图。
【值得辩论的问题】反方立场很强:图是修辞,Methods 只装可检验的东西,宽高比不改变任何统计量,塞进 Methods 只是给格式加噪音。我的回应是——截断 y 轴也不改变任何统计量,我们照样要求报告。如果「不改变统计量」是排除标准,那截断也该被排除。你选哪一边?







0 Comments