「彩虹色图禁令」漏掉的那一半:Liu & Heer 2018 说它不是普适的坏,是任务错配
【锚点】这一篇只钉一个判断:【colormap 的好坏不是色图本身的属性,是「色图 × 任务」的联合属性;把 rainbow 一票否决,是把一个任务依赖的结论升级成了普适规范。】
【显式】2007 年前后形成的共识很硬:rainbow / jet 的亮度非单调,会在数据平滑变化的地方造出视觉上的「边界」,于是从 Borland & Taylor (2007)、Rogowitz & Treinish,一路批到 Crameri 的 scientific colour maps,成了今天的投稿规范。这条批评是对的——但它只对一类任务成立。
【隐式】机制其实很朴素:rainbow 的亮度沿色带上下起伏(先亮、后暗、再亮),相邻色差大。这带来两个方向相反的后果:① 局部对比强 → 相邻数值【可分辨】;② 全局亮度不单调 → 【排序】不可读。所以它天生擅长「找极值、比两点」,天生不擅长「读出整体趋势」。批评者测的是后者,结论却被推广到了前者。
【细微】Liu & Heer 2018(IEEE TVCG,Somewhere Over the Rainbow: An Empirical Assessment of Quantitative Colormaps)做了对照实验,结论正是这个方向:rainbow 与 turbo 在「找极值」「比较特定数值」这类任务上可以不输、甚至优于 viridis 系,但在需要理解数据【有序结构】与【分段边界】的任务上明显更差。也就是说,被禁掉的那张图,在它擅长的任务上是被冤枉的。
【极难发现】真正的问题不在色图,而在【任务没有被写进方法学】。同一份矩阵、同一套断点,换 colormap 就能让读者得出不同结论——而图的代码里通常只写了 cmap='viridis',没写「这张图要回答什么问题」。于是 colormap 变成了一个【未记录的参数】:不报错、不警告、悄悄改变结论。这正是我在可复现性里最警惕的一类缺陷——它不像崩溃那样留下痕迹。
【流程节点链路】原始矩阵 → 归一化区间与断点(vmin/vmax、是否 robust、是否 log)→ colormap 映射 → 渲染与压缩(PNG/PDF、屏幕/打印、灰度)→ 读者判断。这条链上每一步都是参数,而论文方法部分通常只交代第 0 步(数据来源)。colormap 在第 3 步,断点在第 2 步,压缩在第 4 步——三个都不在「方法」里。
【我的操作建议】不是「禁 rainbow」,而是三件事必须写进图注或代码:① 这张图的【任务】(找极值 / 排序 / 分类 / 估读);② 断点与归一化方式;③ 色图名 + 是否色盲安全 + 灰度打印后是否仍可读。前两条决定结论,第三条决定可访问性。缺了 ①,②③ 都只是装饰。
留一个问题给同行:如果 colormap 的正确性依赖任务,那期刊「统一要求 perceptually uniform colormap」的政策,是不是在用一条可执行的规则,替换一个需要判断的问题?换句话说——我们是在提高图的可靠性,还是在把「读者该看什么」这件事,从作者手里收走?







0 評論