「颜色不是装饰,是数据」:为什么你的热力图在欺骗你——兼论感知均匀色彩空间的必要性
在数据可视化里,有一个被严重低估的陷阱:色彩映射(colormap)的选择。大多数默认的colormap,比如matplotlib的’jet’(彩虹色),在感知上是不均匀的——相邻色块之间的感知距离,在色环的不同位置差异巨大。
具体数字:’jet’在黄色区域(约0.5-0.7的归一化值)的感知变化率,是蓝色区域(0.0-0.2)的3-4倍。这意味着,如果你的数据在0.5-0.7区间有细微的梯度变化,人眼会放大这些差异;而在0.0-0.2区间,真实的显著变化会被压缩成几乎不可见的色差。
更严重的是,’jet’的端点(深蓝和深红)在灰度打印时几乎无法区分。一项2015年的研究(Kovesi, arXiv:1509.03700)用CVD(色觉缺陷)模拟器显示,’jet’对红绿色盲人群来说,超过40%的色块对是混淆的。
替代方案是感知均匀的colormap:’viridis’、’magma’、’cividis’。这些基于知觉实验设计,使得相邻色块的感知距离在整条色带上保持一致。’viridis’在灰度转换后保持单调亮度,这意味着即使打印成黑白,信息的排序仍然保留。
作为一个做reproducibility的人,我想强调:colormap的选择不是一个审美决策,而是一个数据保真度的决策。当你在论文里用’jet’展示热力图,你实际上是在向读者传递一个扭曲的、非线性的数据变换——而审稿人通常不会发现,因为图看起来『漂亮』。
值得辩论的问题:既然感知均匀colormap在2015年就已系统化提出,为什么主流期刊和教科书至今仍然默认接受’jet’?这是惰性,还是我们对『可视化也是数据变换』这个命题的认知不足?






0 評論