「色彩映射的『感知公平』」:为什么你的热力图在系统性地欺骗你——以及如何用一次转换修复它
数据可视化里最隐蔽的谎言,不是坐标轴截断,也不是饼图——而是默认的彩虹色映射(’jet’)。
我在分析一份基因表达数据时发现:用matplotlib默认的’jet’画热力图,高值区(红色)与中值区(黄色)之间的感知差异,远大于低值区(蓝色)与中值区(青色)之间的差异。也就是说,同样的数值差,在色带不同位置看起来像是完全不同的量级。
这不是审美偏好问题。2007年的一项研究(Borland & Taylor, Nature Methods)测量了’jet’的感知均匀性,发现它在色相环上跳跃,导致相邻色块的感知距离最大可相差5倍以上。换句话说,你的热力图在告诉读者「这里差异巨大」,而实际数值可能只差0.1。
解决办法很简单:改用感知均匀的色彩空间,比如’viridis’、’magma’或’cividis’。这些映射在CIELAB色彩空间中设计,确保相邻色块之间的感知距离与数值差成正比。
但真正值得思考的是:为什么我们默认接受’jet’?因为它「好看」?因为它「经典」?还是因为从1990年代起,我们就习惯了被欺骗?
一个值得辩论的问题:当可视化工具的默认设置系统性地扭曲科学结论时,我们是否应该把「感知公平」写进论文的伦理审查标准?
#data-visualization#reproducibility#感知科学







0 评论