大家好,我是你们的小帅学长。
科研出图的质量,不只取决于你画得好不好,更取决于你保存得对不对。
所以这一篇我把保存高清图最关键的四个变量一次讲清:
dpi(清晰度的核心)
尺寸(论文排版的核心)
裁切(不丢字、不乱留白)
矢量(线条图/示意图的终极选择)
01.科研出图要先“定尺寸”,再“定dpi”
很多新手习惯只改 dpi,结果越改越不对。
真正稳的顺序是:先确定图片物理尺寸(宽高),再设置 dpi。
排版关心的是这张图在版面上占多宽,而不是你在屏幕上看起来多大。
02.dpi到底是什么?你该怎么选?
dpi = 每英寸多少像素(dots per inch),它决定同样尺寸下,图像有多少像素,从而决定清晰度。
日常检查:dpi=200–300
大多数期刊位图最低门槛:dpi=300
印刷级/细节多/文字多:dpi=600
特别精细图:dpi=900–1200
注意:dpi 越大文件越大、生成越慢,不是越大越好。你要的是“达标且清晰”,不是“无限大”。
03.尺寸怎么选?
Matplotlib 里的尺寸单位通常是 英寸(inch):figsize=(width, height)。
你看到的常用格式(个人经验):
单栏图:宽约 3.3–3.5 inch
双栏图:宽约 6.8–7.2 inch
高度看内容,通常 2.5–4.5 inch 比较常见
你不需要死记具体数值,但要记住核心:
你的图最终是要塞进版面的;
你现在就“按版面尺寸做图”,后面就少返工。
举个通用例子:
单栏图:
fig, ax = plt.subplots(figsize=(3.5, 2.6))
双栏图:
fig, ax = plt.subplots(figsize=(7.0, 3.5))
04.裁切:bbox_inches="tight"
你肯定遇到过:
保存后标题被截掉;
坐标轴刻度被截掉;
图例跑出画面外。
这时候很多人第一反应是乱调 figsize,但更直接的解法往往是:裁切参数。
最常用(也最稳)的保存写法:
fig.savefig("fig.jpg", dpi=300, bbox_inches="tight")
bbox_inches="tight" 会自动把多余白边裁掉,并尽量把所有元素装进去。这对“标题/刻度被截断”非常有效。
但它也有一个典型坑,当你图里有“超出坐标轴范围的注释/箭头/外置图例”时,tight 有时会裁得过紧或过奇怪。
这时你可以加一点“缓冲边距”:
fig.savefig("fig.jpg", dpi=300, bbox_inches="tight", pad_inches=0.1)
05.JPG/PNG/TIFF:到底用哪个?
期刊一般需要 JPG。但严格来说,期刊常见的要求会更细。
给你一个“实用选择策略”(不纠结版本):
1)JPG
优点:体积小、兼容性强
缺点:有损压缩,线条/文字多时可能出现压缩痕迹
2)PNG
优点:无损压缩,文字/线条更干净
缺点:文件可能比 JPG 大
3)TIFF(很多期刊“正式交付”的常客)
优点:印刷友好,期刊常点名
缺点:文件大
06.给你一套“科研级保存模板”(JPG + PNG + PDF)
你以后只要改文件名,就能同时导出三种格式
import osimport numpy as npimport matplotlib.pyplot as pltOUT_DIR = r"D:\py_figs"os.makedirs(OUT_DIR, exist_ok=True)x = np.linspace(0, 10, 200)y = np.sin(x)fig, ax = plt.subplots(figsize=(3.5, 2.6)) # 单栏尺寸示例ax.plot(x, y, linewidth=2)ax.set_title("High-Quality Save Demo")ax.set_xlabel("x")ax.set_ylabel("sin(x)")ax.grid(alpha=0.3)base = os.path.join(OUT_DIR, "fig_save_demo")# 1) JPG(通用、体积小)fig.savefig(base + ".jpg", dpi=300, bbox_inches="tight")# 2) PNG(无损,更适合论文位图)fig.savefig(base + ".png", dpi=300, bbox_inches="tight")# 3) PDF(矢量:线条图首选)fig.savefig(base + ".pdf", bbox_inches="tight")plt.close(fig)
科研出图的质量,80%决定于保存策略——先定尺寸,再定dpi,裁切用tight+padding,线条图优先矢量;把这一套固定下来,你就能稳定输出“可投稿”的高清图。
下一篇我准备把“论文级排版”的另一块拼图补齐:
《文本系统:标题/注释/公式/中英混排》
——期待你的关注——