颜色是无声的元数据。读者扫描你的图表时,配色方案在他们看清坐标轴之前就已经传递了信号:这位作者是否严谨、图表是否可读、论文是否达到发表标准。然而现实中,大多数研究者选色靠直觉——或者直接沿用 Matplotlib、Excel 的默认配色。
这篇指南要解决这个问题。你将系统了解科研图表的三大配色类型,获得 7 套附完整 HEX 代码的即用色板,并掌握一套可在投稿前执行的实操规则。
本文要点:
- 定性、连续、发散三类色板的本质区别及各自适用场景
- 哪些色板对约 8% 色觉缺陷读者足够友好
- 7 套科研常用色板完整 HEX 表
- 科研图表配色的实用 Do/Don't 清单
- 如何用 SciDraw AI 图表检查工具 在投稿前排查配色与格式问题
配色是一项科学决策
糟糕的配色不只是难看,更可能产生误导。彩虹色(jet)映射会在数据中凭空制造边界。红绿对比对氘色盲读者(最常见类型)完全失效。多子图之间配色不一致会迫使读者每切换一次图面就重新解码图例。
Nature、Science、PNAS 等顶刊越来越明确地要求作者确保图表对色盲读者可读,部分出版商会以"灰度转换失去信息区分度"为由退稿。从一开始就选对色板,能省掉大量修改周期。
三大配色类型
定性色板(Qualitative Palette)
适用场景: 对无内在顺序的类别型数据编码——细胞类型、实验组别、物种、处理条件。
核心原则: 各颜色视觉权重相当,不应有某个颜色显得"更重要"。
常见错误: 用浅到深的渐变序列表示类别,这会暗示存在排序关系。
连续色板(Sequential Palette)
适用场景: 编码从低到高的数值变量——基因表达量、温度、浓度、p 值大小。
核心原则: 必须感知均匀(perceptually uniform):数据等距的变化,在颜色上也应等距可见。大多数手工调配的渐变都不满足这一要求。
常见错误: 当零值没有实际意义时,误用两端对称的发散色板。
发散色板(Diverging Palette)
适用场景: 数据中点具有实际意义时——倍数变化(以 log₂ = 0 为中心)、相关系数(以 0 为中心)、异常值图(以历史均值为中心)。
核心原则: 两端饱和度应对称,中点应为接近白色或浅灰的中性色,而非第三种饱和色。
常见错误: 中点用鲜艳色,反而制造了不存在的第三类别。
色盲友好:不可妥协的底线
全球约 8% 男性、0.5% 女性存在不同程度的色觉缺陷。氘色盲(deuteranopia)和原色盲(protanopia)即红绿色觉缺陷最为常见,蓝黄色觉缺陷(tritanopia)虽然较少见,但覆盖读者数量仍不可忽视。
最快的测试方法: 将图表转为灰度。如果所有类别仍然可区分,说明通过了最基本的无障碍检验。
最可靠的测试方法: 使用 Coblis(色觉缺陷模拟器)或 Python 的 colorblind 模块,分别模拟氘色盲、原色盲、蓝黄色盲视角。投稿前,将图表文件上传至 SciDraw AI 图表检查工具,自动排查配色无障碍问题和格式合规性。
7 套即用色板完整 HEX 表
1. Okabe-Ito(定性,8 色——色盲友好金标准)
由 Okabe Masataka 和 Ito Kei 专为色觉缺陷无障碍设计,是当前多数现代风格指南推荐的定性色板默认首选。
| 色块 | 名称 | HEX | RGB |
|---|---|---|---|
| ■ | 黑 | #000000 | 0, 0, 0 |
| ■ | 橙 | #E69F00 | 230, 159, 0 |
| ■ | 天蓝 | #56B4E9 | 86, 180, 233 |
| ■ | 蓝绿 | #009E73 | 0, 158, 115 |
| ■ | 黄 | #F0E442 | 240, 228, 66 |
| ■ | 蓝 | #0072B2 | 0, 114, 178 |
| ■ | 朱红 | #D55E00 | 213, 94, 0 |
| ■ | 红紫 | #CC79A7 | 204, 121, 167 |
最适合: 最多 8 个类别;面向广泛受众或有无障碍要求的期刊投稿。
2. Paul Tol Bright(定性,7 色)
天文学家 Paul Tol 开发,在白色和浅灰背景(学术图表最常见的背景)上均有良好对比度。
| 色块 | 名称 | HEX |
|---|---|---|
| ■ | 蓝 | #4477AA |
| ■ | 青 | #66CCEE |
| ■ | 绿 | #228833 |
| ■ | 黄 | #CCBB44 |
| ■ | 红 | #EE6677 |
| ■ | 紫 | #AA3377 |
| ■ | 灰 | #BBBBBB |
最适合: 最多 7 组的折线图和散点图。
3. Viridis(连续,感知均匀)
自 2015 年成为 Matplotlib 默认色图以来最广泛采用的连续色板。感知均匀、色盲友好、灰度打印效果佳。
| 位置 | HEX | 说明 |
|---|---|---|
| 0% | #440154 | 深紫(低值) |
| 25% | #31688E | 蓝 |
| 50% | #35B779 | 绿 |
| 75% | #90D743 | 黄绿 |
| 100% | #FDE725 | 亮黄(高值) |
最适合: 热图、密度图、无自然零点的连续变量。
4. Plasma(连续,感知均匀)
比 Viridis 更温暖的替代方案,在确保彩色打印的情况下视觉冲击力更强。
| 位置 | HEX |
|---|---|
| 0% | #0D0887 |
| 25% | #7E03A8 |
| 50% | #CC4778 |
| 75% | #F89540 |
| 100% | #F0F921 |
最适合: 彩色打印确定的补充材料图表;显微镜荧光强度图。
5. RdBu(发散)
ColorBrewer 经典红蓝发散色板,广泛用于相关矩阵、基因表达倍数变化和气候异常图。
| 位置 | HEX | 说明 |
|---|---|---|
| −极值 | #B2182B | 深红 |
| −中间 | #EF8A62 | 浅红 |
| 0 | #F7F7F7 | 近白中性 |
| +中间 | #67A9CF | 浅蓝 |
| +极值 | #2166AC | 深蓝 |
最适合: 相关矩阵、倍数变化热图、以零为中心的任何数据。
6. PRGn(发散,更好的色盲适配)
紫–绿发散色板。因避免了红绿对比,对氘色盲和原色盲读者的效果明显优于 RdBu。
| 位置 | HEX |
|---|---|
| −极值 | #762A83 |
| −中间 | #C2A5CF |
| 0 | #F7F7F7 |
| +中间 | #7FBF7B |
| +极值 | #1B7837 |
最适合: 对色觉无障碍有要求的任何发散型数据场景。
7. Nature/Cell 风格低饱和定性色板(5 色)
近似 Nature、Cell 系列期刊常见的低饱和度出版级风格,在保持类别区分度的同时避免视觉刺激。
| 色块 | HEX | 典型用途 |
|---|---|---|
| ■ | #4E79A7 | 第一组 / 对照 |
| ■ | #F28E2B | 第二组 / 实验组 |
| ■ | #E15759 | 第三组 / 重点标注 |
| ■ | #76B7B2 | 第四组 |
| ■ | #59A14F | 第五组 |
最适合: 投稿至高影响因子期刊的柱状图、箱线图和多折线图。
选板速查表
| 色板 | 类型 | 颜色数 | 色盲适配 | 灰度效果 | 适用期刊场景 |
|---|---|---|---|---|---|
| Okabe-Ito | 定性 | 8 | 优秀 | 良好 | 任何场景;无障碍要求期刊 |
| Tol Bright | 定性 | 7 | 良好 | 中等 | 折线图 / 散点图 |
| Viridis | 连续 | 连续 | 优秀 | 优秀 | 热图、密度图 |
| Plasma | 连续 | 连续 | 优秀 | 良好 | 保证彩印的图表 |
| RdBu | 发散 | 连续 | 中等 | 良好 | 相关矩阵、倍数变化 |
| PRGn | 发散 | 连续 | 良好 | 良好 | 需色觉无障碍的发散场景 |
| Nature 低饱和 | 定性 | 5 | 良好 | 中等 | 高影响因子期刊投稿 |
科研图表配色实操规则
应当做的
- 应当 对连续数据使用感知均匀的连续色板(Viridis、Plasma、Cividis)。
- 应当 在投稿前将每张图表转为灰度检验——许多审稿人黑白打印。
- 应当 在多子图论文的所有面板中使用同一套色板。用 SciDraw AI 科学图表生成器 制作多面板图时,在项目级别锁定配色方案,能强制执行全稿一致性。
- 应当 只在中点具有实际科学意义时才使用发散色板。
- 应当 为色条(colorbar)标注准确的变量名和单位。
- 应当 完成图表后通过专项检查工具把关。SciDraw AI 图表检查工具 会自动标出常见的配色对比度和格式问题。
不应当做的
- 不应当 对科学数据使用 jet / 彩虹色图。它感知不均匀、制造伪边界,无法通过任何色盲测试。
- 不应当 在类别超过 8 个时仅靠颜色区分——应额外引入形状或纹理冗余编码。
- 不应当 在不检查无障碍性的情况下将红绿作为发散色板两端。
- 不应当 对严格正值或严格负值数据使用发散色板。
- 不应当 在展示同一变量的子图之间更换色板。
- 不应当 让颜色成为唯一的视觉通道——尽可能同时结合形状、线型或直接标注。
常用工具中的配色实现
Python(Matplotlib / Seaborn)
import matplotlib.pyplot as plt
# Okabe-Ito 色板
okabe_ito = ['#000000','#E69F00','#56B4E9','#009E73',
'#F0E442','#0072B2','#D55E00','#CC79A7']
# 设为默认颜色循环
plt.rcParams['axes.prop_cycle'] = plt.cycler(color=okabe_ito)
# Viridis 是 Matplotlib 的默认连续色图
plt.imshow(data, cmap='viridis')R(ggplot2)
library(ggplot2)
# 通过 ggthemes 包使用 Okabe-Ito
library(ggthemes)
scale_colour_colorblind()
# 或手动指定
okabe <- c("#E69F00","#56B4E9","#009E73","#F0E442","#0072B2","#D55E00","#CC79A7")
scale_colour_manual(values = okabe)Adobe Illustrator / Inkscape
将 HEX 值直接导入色板,并以项目为单位建立命名色板组,确保各面板之间色彩一致。完成矢量图后,可导出并通过 SciDraw AI 图文摘要生成器 整合为期刊级图文摘要版式。
从选色到发表级图表
选对配色只是第一步。达到发表要求还需要:
- 字体大小合规(多数期刊要求标注字号不低于 6 pt,推荐 8–10 pt)
- 线宽能承受缩放(建议 ≥ 0.5 pt)
- 图表尺寸符合期刊模板规格
- 光栅元素分辨率不低于 300 DPI
SciDraw AI 科学图表生成器 会自动处理尺寸和分辨率要求;SciDraw AI 图文摘要生成器 可将你的数据图整合为视觉一致的单页摘要。最终文件交由 图表检查工具 过一遍,确保万无一失。
常见问题解答
Q:热图是否应该始终用 Viridis?
Viridis 是优秀的默认选项,但不是唯一选择。Inferno 和 Cividis 同样感知均匀且对色盲友好。选择时需考虑叙事语境:Viridis 对很多读者有"冷到暖"的隐含含义,这不一定符合你的数据故事。如果数据表示强度或计数而无方向性,三者都适用。
Q:定性色板能不能用超过 8 种颜色?
技术上可以,但超过 8 个类别时不应单独依赖颜色区分。人类感知对类别色彩区分的能力在 8 色以上迅速退化。此时应叠加形状标记(圆、方、三角)、线型(实线、虚线、点线)或直接在图上标注,作为颜色的补充编码。
Q:色条应该包含多少刻度标注?
色条最少应在完整数据范围内均匀分布 5 个带标注的刻度。色条标签中必须注明确切的变量名和单位。对于发散色板,必须明确标注中点值。
Q:期刊要求提交 CMYK 图表,这些 HEX 值还适用吗?
HEX 是 RGB 格式。最终投稿前,需要按期刊 ICC 配置文件(通常以 Adobe RGB 1998 或 sRGB IEC61966-2.1 为源色彩空间)将图表转换为 CMYK。颜色会有轻微偏移——要仔细核查 CMYK 预览,尤其是 Viridis 高值端的高饱和黄色,转 CMYK 后容易发灰。如有疑问,向期刊制作团队申请彩色打样。
Q:是否存在对所有类型色觉缺陷都安全的单一色板?
目前没有任何单一色板能同时完美适配三种主要类型(原色盲、氘色盲、蓝黄色盲),但 Okabe-Ito 在定性色板中最接近这一目标。对于连续和发散场景,Cividis 是专门针对所有色觉缺陷类型优化的色图。建议使用 Coblis 模拟器分别验证你的色板在三种色觉缺陷下的效果。
Q:如何确保颜色在不同显示器和投影仪上看起来一致?
将显示器校准至 sRGB 色彩空间——这是学术图表的标准预设色彩空间。用于大型会场投影时,应适当提高对比度,避免过浅的颜色(亮度超过约 85% 的颜色在大多数投影仪上会显得很淡)。有条件时,在实际投影环境中预先测试幻灯片效果。



