上个月一个师弟把论文投出去,两周后编辑回信,别的没说什么,就一句:图的分辨率不达标,请重新提供。
他把图发我看。300 dpi,没错啊——他在 Photoshop 新建文件的对话框里,明明白白写着 300。
我说你打开“图像大小”,看像素那一栏是多少。
1024 × 768。
他这张图在排版里占的是通栏位置,印出来大概 17 cm 宽。
17 cm 等于 6.7 英寸。1024 除以 6.7,等于 153 dpi。
那个“300”从头到尾就是个摆设。
这几年带过的学生里,卡在配图这一关的比卡在统计上的还多。原因也不是他们不认真——是“300 dpi”“矢量图”“色盲友好”这三个词,看起来简单,实际每一个都在某个不起眼的环节上埋了坑。
今天把这三个词拆开,说清楚它们到底在要求什么,以及在哪个软件、哪一步、怎么操作才算真的落地。
一、300 dpi:九成的人误解在这一步
先说结论:dpi 不是文件的属性
这是所有坑的源头。
dpi 描述的是“这张图在最终印刷尺寸下的像素密度”,它是一个关系值,不是一个属性值。
公式只有一条:
像素数 = dpi × 印刷尺寸(英寸)
所以“你这张图多少 dpi”这个问题,本身就缺了一半信息——你得配上一个“印多大”。
反过来算就很清楚了:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
Nature 官方给的口径是:单栏图的绝对宽度不少于 1040 像素,双栏不少于 2080 像素(不含周围白边)。Elsevier 给的是单栏至少 1063 像素、整页宽 2244 像素。
两个数字对得上——因为都是从 300 dpi 反推过来的。
三种图,三个门槛
很多人以为“300 dpi 就是万能答案”。不是。期刊是按图的类型分档要求的,这一点在投稿须知里写得很明白,但特别容易被跳过去。
Elsevier 的规则(Guide for Authors 原文):
- 照片 / 灰度半色调图
(显微镜图、凝胶图、Western blot):最低 300 dpi - 位图线条图
(纯黑白像素的线稿):最低 1000 dpi - 线条 + 半色调的组合图
(带标注的显微图、嵌了照片的曲线图):最低 500 dpi
为什么线条图要求最高?因为硬边最容易暴露采样问题。黑是黑、白是白的地方,任何一点插值都会显出锯齿,斜线和细笔画尤其明显。
Nature 的说法稍微不同,但方向一致:线条图、图表、示意图优先提供矢量格式(EPS 首选);实在给不了矢量的,才用 1200 dpi 的位图。照片一律 TIFF,最低 300 dpi。
PLOS 给的是 300–600 dpi 区间,两头都提醒了:低于 300 会糊,高于 600 反而可能被系统压缩回去。另外文件体积卡在 10 MB。
所以“300 dpi”其实是个下限的泛称。真落到线条图这档,300 是不够的。
三个必踩的坑
坑一:在 Photoshop 的“图像大小”里把分辨率数字改成 300。
这个操作默认不勾“重定图像像素”——也就是只改了文件的元数据标签,像素总数一个没变。你以为升上去了,实际有效分辨率还是 153 dpi。
期刊的自动检查系统(Elsevier 叫 AQC,Artwork Quality Check)量的是像素数 ÷ 最终物理尺寸,根本不看你文件头里那个数字。
坑二:用插值放大去救一张低分辨率的图。
PLOS 直接把这件事定性成数据完整性问题,而不是技术问题:给图里补上原本不存在的像素,等于让软件替你造了没测过的数据。这在审稿里叫图像完整性问题,比分辨率不达标严重得多。
唯一的解法是回原软件重新导出。
坑三:整张图的分辨率,取决于最差的那块料。
一张 300 dpi 的 TIFF 里如果贴了一张 72 dpi 的截图,那张截图还是 72 dpi。PLOS 的原话就是这个意思:一张图的质量只等于它里面分辨率最低的那个元素。
这个坑最常见的来源:
-
从 PPT 里复制粘贴过来的图 -
从网页上右键另存的图 -
用微信 / QQ 传过的图(默认压缩,dpi 会神不知鬼不觉地掉) -
在 Word 里“拖拽”或“粘贴”进去的图
怎么查一张图到底合不合格
三个数一算就够:
- 看像素:
不是看 dpi 那一栏,是看像素数 - 量尺寸:
这张图在排版里占多宽(毫米) - 除一下:
像素 ÷(毫米 ÷ 25.4)
写代码的一次就能算完:
``python from PIL import Image im = Image.open("fig1.tiff") w, h = im.size # 像素数,这才是真相 mm = 90 # 计划排版宽度(毫米) print(f"{w}px 放在 {mm}mm 宽时,有效分辨率 {w/(mm/25.4):.0f} dpi") ``
不想写代码的,用 ImageJ / Fiji 打开,Image → Properties 里能直接看到像素尺寸。
还有一条 Nature 的老建议,听着土但极其管用:把图放进一个 90 mm 宽的文档里,用最终尺寸打印出来,纸上看一眼。
屏幕会骗人,纸不会。7 pt 的字在屏幕上还挺大,印出来可能是这样:看不太清。
二、矢量图:先分清“画出来的”和“拍出来的”
一句话判断法
-
数据点连出来的曲线、柱状图、箱线图、示意图、流程图、通路图、化学结构式 → 画出来的 → 用矢量 -
显微镜照片、电泳胶、Western blot、CT / MRI 断层、任何相机或扫描仪出来的东西 → 拍出来的 → 用位图(TIFF)
这个判断标准比“这张图属于什么类型”好用,因为一张组图里往往两样都有,按元素分,不按整图分。
矢量图没有 dpi 这回事
这一点特别容易被问倒:“你这张 EPS 是多少 dpi 的?”
矢量格式存的是形状本身——一条曲线、一个矩形、一段文字,渲染的时候由输出设备决定分辨率。所以矢量图在 1200 dpi 的印刷机上就是 1200 dpi,文件里没有、也不需要有一个 dpi 数字。
问一个 EPS 是多少 dpi,相当于问一个 Word 文档是多少 dpi,范畴就不对。
也正因为这样:凡是要求 1000 dpi 线条图的地方,能用矢量就一定要用矢量——因为它连这个门槛都不用谈。
常用的几款软件怎么导
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
ggsave("fig1.pdf"),
cairo_ps("fig1.eps") |
theme(text = element_text(size = 7)) 对齐期刊要求 |
|
|
plt.savefig("fig1.pdf") |
dpi=300 依然是位图 |
|
|
|
|
有一个细节很多人不知道:Nature 明确要求不要把文字轮廓化(outline text)。转成曲线的字,编辑想改一个字母都改不了,会直接给你退回来。
关于字体和线宽,各家口径放在一起看:
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
注意最后两行的单位差:Elsevier 用 pt,《中国科学》用 mm。0.5–0.6 mm 折算过来大约是 1.4–1.7 pt,比 Elsevier 的下限粗不少。抄投稿须知的时候把这两个单位混了,线可能就画细了。
拼图这一步最容易出事
多 panel 图的通行做法是:每个 panel 单独出矢量图 → 到一个矢量软件里拼 → 导出成一个 PDF / EPS 交稿。
这一步的坑:
- 在 PPT 里拼图,再导出成图片。
全变位图,前面所有矢量操作白做 - 在 Illustrator 里拼图但用了“链接”(Link)方式,导出时忘了嵌入。
期刊收到的可能是空框,或者低分辨率的代理图 - 拼完在 Word 里缩放。
矢量缩放本身没问题,但 Word 会把整张图当成一个位图副本处理
一个稳的工作流:所有 panel 出一遍矢量(PDF / EPS / SVG)→ Adobe Illustrator 或 Inkscape 里拼 → 存一份 AI 保留编辑态 → 另存 PDF 交稿。
Inkscape 是免费的,做科研配图完全够用。
传文件环节的两个隐形杀手
- 微信 / QQ 传图。
默认压缩,大图会重采样,dpi 掉得悄无声息。传原图请用邮件附件、网盘,或者干脆打包成 zip - 在 Word 里“插入图片”和“拖进去”是两回事。
拖拽和复制粘贴进来的图会被当成 72 dpi 的位图处理,PLOS 的制图指南里专门点了这一条。必须走「插入 → 图片」
所以最后一句忠告很朴素:原始工程文件(.opju / .pzfx / .Rmd / .ai)永远不要删。 图被压过了,重新出一遍就行;工程文件没了,就得从头重画。
三、色盲友好:从“知道”到“真的落地”
先说这件事的概率有多高
红绿色觉异常,在北欧血统男性里约 8%(约十二分之一),女性约 0.5%(约两百分之一)。东亚男性低一些,大约 4%–5%。各种类型合计,全球大约 3 亿人。
分型大致是这样:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
红绿两型加起来,占全部色觉异常的 约 99%。
这就是为什么“不要红配绿”是唯一一条不能破的规则。
有一个说法我印象很深:假如一篇稿子恰好送给三位北欧血统的男性审稿人,其中至少一位有色觉异常的概率约 22%。
所以这不是一个“政治正确”的问题,是四分之一的概率,你自己精心画的那张图会被看错。
硬红线:这三条别碰
第一,红 — 绿。 最常见,也最容易踩。不只是纯红配纯绿,还包括绿配棕、浅绿配黄、红配橙。
第二,彩虹色阶(jet / rainbow)。 Crameri 2020 年在 Nature Communications 上专门写过这件事:rainbow 既不是感知均匀的(会凭空造出数据里根本没有的“分带”),在三种色盲模拟和黑白打印下也全部失效。它是科学传播里被误用最严重的色板,没有之一。
第三,蓝 — 紫。 对蓝黄色盲不友好。虽然比例很低,但顺手避开几乎零成本。
该用什么:三套色板
分类数据(8 组以内)→ Okabe-Ito
Nature 官方的绘图指南里直接列出了这一套,可见地位。它源自 Okabe 和 Ito 2002 年提出的 Color Universal Design,后来被 Bang Wong 在 2011 年 Nature Methods 的专栏里介绍给生命科学界,所以也叫 Wong palette。
|
|
|
|---|---|
|
|
#000000 |
|
|
#E69F00 |
|
|
#56B4E9 |
|
|
#009E73 |
|
|
#F0E442 |
|
|
#0072B2 |
|
|
#D55E00 |
|
|
#CC79A7 |
这八个色在三种色盲模拟下都能两两分开,属于“闭着眼睛抄也不会错”的选择。
备选方案:Paul Tol 的 bright 7 色(#4477AA #EE6677 #228833 #CCBB44 #66CCEE #AA3377 #BBBBBB),色相更饱和一点,投影仪上比 Okabe-Ito 的黄色更清楚。
如果图必须印成黑白,用 Tol 的 high-contrast 3 色(#004488 / #DDAA33 / #BB5566)。这三个色的亮度差异足够大,灰度打印也分得开。
连续数据(热图、密度、表达量)→ viridis 系
- viridis:
matplotlib 2.0 之后的默认色板,感知均匀 + 色盲友好 - cividis:
专门为色盲优化过。它的设计目标是让正常视觉和红绿色盲看到的是同一条渐变(Nuñez 2018, PLOS ONE)。在屏幕上没那么好看,但放到海报、附录这种你控制不了观看条件的地方更稳 - batlow
(Crameri):作为 jet 的替代品设计,深蓝 → 赭黄 → 浅黄,亮度单调递增
凡是“红—绿”或“彩虹”的连续色阶,都别用。
发散数据(以 0 为中心的差异、z-score、log fold change)→ vik / roma 或 RdBu / PuOr
-
Crameri 的 vik(蓝—白—红)和 roma 是感知均匀的发散色板,现在地球科学、海洋、气候这几个领域基本是默认选择 -
ColorBrewer 的 RdBu(红蓝)、PuOr(紫橙)也可以用
有一句提醒:发散色板只用在真的存在零点的时候。纯粹递增的数据配发散色,会诱导读者去找一个根本不存在的符号变化。
顺带说一句 ColorBrewer(colorbrewer2.org):官网可以勾选 "colorblind safe" 过滤,但勾完之后能通过的定性色板寥寥无几——它更适合用来挑连续和发散色阶。
比换色板更重要的三条纪律
说实话,换了 Okabe-Ito 就以为万事大吉,是个错觉。真正决定这张图能不能读的,是下面这三条。
第一条:不要只靠颜色传信息。
这是最有效的一条。颜色只是线索之一,其他通道同时上:
-
线型:实线 / 虚线 / 点线 / 点划线 -
点型:圆 / 方 / 三角 / 菱形 -
填充:实心 / 斜纹 / 网格 / 点阵 -
直接标注:把“对照组”“处理组”写在曲线旁边,而不是塞进图例
一根红线和一根绿线,如果线型一个是实线一个是虚线,红绿色盲也能一眼分清。这一条比挑色板管用得多。
第二条:转成灰度看一眼。
这是最省事、也最有效的自检:
-
分类色:各组还能不能两两区分? -
连续色阶:亮度是不是单调递增,顺序还读得出来吗?
ColorBrewer 和 Paul Tol 的色板都是按“亮度有序”设计的,过这一关很容易;rainbow 一定过不了。
Prism、Origin、Illustrator、Python 都能一键转灰度,成本几乎为零。
第三条:荧光图把“红 + 绿”换成“绿 + 品红”。
做共定位的都知道红绿双色的习惯有多深。但 Nature 的指南明确建议:荧光图像重配色成色盲可辨识的组合,比如绿 + 品红(magenta)、青 + 红、黄 + 蓝。红绿是唯一被点名的反例。
换成绿 + 品红,对正常视觉的观感几乎没损失,成本极低。
检查工具与三分钟流程
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
三分钟自检流程:
-
图转灰度 → 还能分清 → 过第一关 -
丢进 Coblis,选 deuteranopia 和 protanopia → 还能分清 → 过第二关 -
分不清 → 先加线型 / 点型 / 标注(比换色快),还不行再换色板
投稿前,把这十条过一遍
-
每张图的像素数 ÷(排版宽度 ÷ 25.4) ≥ 期刊要求的 dpi -
线条图、示意图已经导出为矢量(EPS / PDF / AI),不是 PNG 或 JPG -
照片是 TIFF,不低于 300 dpi,而且没有被插值放大过 -
组图里没有任何一个 panel 来自截图或 PPT 粘贴 -
字号在最终尺寸下不小于 5 pt(Nature 要求 5–7 pt),线宽不小于 0.25 pt -
字体统一,且嵌进了文件里,没有转曲 -
颜色模式:Nature 和 Elsevier 建议 RGB 投稿(印刷社会自动转 CMYK) -
分类色用的是 Okabe-Ito 或等价色板,没有红绿组合 -
连续色阶没有用 rainbow / jet -
图转灰度后仍能区分,Coblis 模拟下也能区分
最后
这三个词看着是三条互不相干的规定,其实是同一个问题的三个面:你这张图,是给谁、在什么条件下看的?
-
300 dpi 问的是——印出来还清不清楚 -
矢量图问的是——不管放大多少倍,它还准不准 -
色盲友好问的是——换一双眼睛,它还读不读得懂
想通这一层,投稿须知里那些零碎的技术条款,你基本可以自己推出来。












评论