
在科研论文中,图往往不是简单的“数据可视化”。一张真正用于论文投稿的科研图,需要同时考虑数据表达、视觉层次、颜色语义、字体、坐标轴、图例、版面比例以及最终的印刷和导出质量。
对于使用 Python、Matplotlib 绘图的研究者来说,figures4papers 最近成为一个值得关注的开源项目。

figures4papers 由 Yale University 计算机科学博士候选人 Chen Liu(刘晨)维护。项目最初是作者用于论文绘图的一系列 Python 脚本集合,后来进一步发展为包含 scientific-figure-making 的科研绘图 skill。项目 README 显示,其中的图形曾用于 Nature Machine Intelligence、ICML、NeurIPS、ECCV 等论文。
更值得注意的是,figures4papers 并不只是提供几个可以复制的 Matplotlib 代码片段。它实际上把科研绘图代码、设计规范、可复用组件和 AI coding agent 工作流结合在了一起。
figures4papers到底是什么?
简单来说,figures4papers 是一个面向科研论文的高质量绘图代码与设计规范项目。
它的核心思路并不是开发一个新的绘图库,而是把作者在长期论文投稿过程中形成的一套绘图方法整理出来,让其他研究者能够直接参考、修改和复用。
目前项目包含多种论文中常见的图形类型,包括:
- quantitative comparison bar plots(定量结果柱状图)
- composition breakdown bar plots(组成比例柱状图)
- radar plots(雷达图)
- line plots(折线图)
- trend plots(趋势图)
- 3D sphere illustrations(3D球体示意图)
- concept plots(概念示意图)
- scatter、heatmap 以及多面板图等
项目还按照不同论文项目建立了多个 figure_* 文件夹,可以看到更加接近真实论文工作的完整脚本,而不是只有一个孤立的示例。
因此,如果把普通的 Matplotlib 理解为“绘图工具”,那么 figures4papers 更接近于一套论文绘图方法论 + Python模板 + AI绘图规范。
这也是理解 figures4papers 最重要的一点。
figures4papers为什么值得科研人员关注?
很多科研人员其实已经会使用 Matplotlib、Seaborn 或其他绘图库,但“会画图”和“能够制作适合论文发表的图”并不是一回事。
例如,一张实验结果柱状图可能能够准确展示数据,但仍然存在一些问题:颜色过多、坐标轴过重、图例占用空间、字体过小、不同子图之间颜色含义不一致,或者导出后无法满足论文排版要求。
figures4papers试图解决的恰恰是这些细节。
它的 scientific-figure-making skill 明确针对论文、报告和学术演示中的 publication-ready figures,并强调字体、配色、坐标轴、图例以及 PDF/SVG/高分辨率输出等规范。
换句话说,它不是告诉你“怎么把数据画出来”,而是在进一步回答:怎样把已经正确的数据,画成一张看起来像论文里的科研图?这对于准备投稿的研究人员尤其重要。
figures4papers的核心:把“审美”变成可以执行的规则
figures4papers比较有价值的地方,是它没有停留在“参考顶会论文的风格”这种比较模糊的建议,而是进一步把视觉规范写进代码和 skill 中。
例如,项目强调去除不必要的图表元素,并通过统一的字体、颜色、坐标轴和导出规范,让不同图之间保持一致。
1. 减少不必要的坐标轴线
传统绘图经常会保留完整的四条边框,但 figures4papers 的设计规范倾向于去掉顶部和右侧的 spine,只保留必要的坐标轴结构。
这种处理可以降低视觉噪声,让读者把注意力集中在数据本身。
需要注意的是,这不是说所有期刊都要求“必须删除 top/right spines”。它更准确地说是一种publication-style 的设计选择,研究者仍然应该根据目标期刊的图形规范进行调整。
2. 颜色具有明确的语义
figures4papers 的配色并不是简单地“挑几个好看的颜色”。
其设计体系给颜色赋予了角色。例如,项目及其设计规范中使用了这样的语义映射:
- 蓝色:主要方法(proposed method)
- 绿色:改进或正向变化(improvement)
- 红色:对比方法或对照类别(baseline/contrast)
- 灰色:辅助信息、背景或参考类别
这种方法真正重要的地方在于一致性。
如果某个方法在 Figure 2 中使用蓝色,那么在 Figure 4、Figure 5 中最好仍然保持蓝色,而不是因为换了一张图就重新分配颜色。
相关设计规范也强调,同一方法或方法家族应该尽可能保持统一的视觉编码。
这对于多面板论文尤其重要。
figures4papers并不是简单的“配色模板”
很多人第一次看到 figures4papers,可能会把它理解成一个 Matplotlib 主题(theme),实际上这个理解并不完整。
它还提供了可以复用的绘图逻辑。
例如,scientific-figure-making 目录中包含:
scientific-figure-making/
├── SKILL.md
└── references/
├── api.md
├── common-patterns.md
├── demos.md
├── design-theory.md
└── tutorials.md其中 SKILL.md 是快速入口;api.md 介绍 API、颜色和辅助函数;common-patterns.md 总结常见绘图模式;design-theory.md 解释设计原则;tutorials.md 则提供更具体的操作方法。
这意味着研究人员不必每次从零开始写:
plt.figure()
plt.bar(...)
plt.xlabel(...)
plt.ylabel(...)
plt.legend(...)
plt.savefig(...)而可以进一步采用项目中已经整理好的 publication-style helpers 和绘图结构。
figures4papers最大的变化:它开始适配AI Coding Agent
这可能是 figures4papers 最值得关注的部分。
项目目前加入了 LLM skill integration。README 明确说明,scientific-figure-making/ 可以作为 AI coding agent 的 skill 使用。
也就是说,研究人员不一定需要把所有绘图代码都自己写出来。
基本工作流程是:
准备数据 → 打开 figures4papers → 让 AI 阅读 SKILL.md → 描述需要制作的图 → AI生成/修改绘图脚本 → 运行脚本 → 检查结果。
项目官方给出的方式甚至不要求传统意义上的安装。只需要把仓库打开在支持的 AI coding agent 中,然后在 prompt 中明确要求遵循:
scientific-figure-making/SKILL.md
scientific-figure-making/references/design-theory.md
scientific-figure-making/references/api.mdAI 就可以根据这些规则生成或修改绘图脚本。
例如,项目 README 提供的 prompt 思路是让 AI 在指定路径创建 publication-quality figure,并要求遵循 skill 中的 palette、helper、export 等规范,再提供自己的数据。
这实际上改变了传统的科研绘图流程:
过去:
数据 → 自己写 Matplotlib → 不断调整参数 → 找参考图 → 修改颜色 → 修改字体 → 调整布局 → 导出
现在:
数据 + 绘图需求 → AI coding agent + figures4papers skill → 生成规范化绘图脚本 → 人工检查
但需要特别强调:AI生成图并不等于科研人员可以不检查图。
数据是否正确、统计方法是否合理、误差线代表什么、坐标轴是否存在误导、颜色是否具有正确的科学含义,都仍然需要研究者自己负责。
figures4papers有哪些常见科研绘图模板?
如果只从论文写作的实际需求来看,figures4papers 最有用的部分可以理解为几个典型场景。
定量结果比较:Bar Plot
柱状图是机器学习、医学、生物信息学等论文最常见的结果展示形式之一。
例如比较不同模型在 Accuracy、F1-score、AUC 等指标上的表现,就可以使用 grouped bar plot。
figures4papers 的思路不是简单增加颜色,而是通过统一的柱宽、边框、字体、间距和颜色语义,让不同方法之间的比较更加清楚。
对于大量 benchmark 结果,这种规范化尤其有价值。
趋势分析:Line Plot
当横轴代表时间、训练轮次、数据规模或其他连续变量时,折线图往往比柱状图更加合适。
figures4papers 将 trend/line plots 纳入其 reusable patterns,并支持论文级别的线条、图例和输出规范。
Radar Plot
当研究者需要同时比较多个模型在多个指标上的表现时,雷达图是一种常见选择。
不过需要注意,雷达图并不适合所有数据。指标过多、尺度差异过大或者需要精确比较时,传统柱状图或点图往往更容易阅读。
因此,figures4papers 更适合被理解为提供实现方式和视觉规范,而不是告诉研究人员“任何情况下都应该使用某一种图”。
3D Sphere Illustration
项目还包含 3D sphere 类的视觉元素。
这类图并不一定承担严格的数据可视化功能,有时更多用于展示模型结构、空间关系或概念。
因此,它与传统统计图表有所区别,更接近 scientific illustration(科学示意图)。
Concept Plot
Concept plot 则更加适合展示研究框架、方法概念或者抽象机制。
这也是论文 Figure 中非常重要的一类图,因为优秀的概念图可以帮助读者在阅读复杂方法之前建立整体认知。
300 DPI只是“论文图片质量”的一部分
网上介绍 figures4papers 时,经常会提到 300 DPI。
300 DPI(dots per inch)确实是科研图片常见的高分辨率输出设置之一,但不能简单理解为“300 DPI = 满足所有期刊要求”。
实际上,不同期刊对 TIFF、PNG、EPS、PDF、SVG 等格式以及分辨率的要求并不完全相同。
对于线条图、文字和矢量图而言,PDF/SVG 等 vector format 往往比单纯提高 PNG 的 DPI 更有价值。
figures4papers 的 skill 本身也明确涉及 PDF/SVG 和 high-DPI output,而不是把 300 DPI 当成唯一的质量标准。
因此,更合理的做法是:
优先保留矢量输出能力,同时根据目标期刊的 Author Guidelines 准备相应的位图版本。
这比简单地把 dpi=300 写进代码更加可靠。
figures4papers适合哪些科研人员?
如果你经常使用 Python 制作论文 Figure,figures4papers 的价值会比较明显。
尤其是以下几类研究者:
第一类是机器学习和人工智能研究者。
因为项目本身的大量示例来自 AI/ML 论文,包括 ICML、NeurIPS、ECCV 等会议。
第二类是需要大量 benchmark 图表的研究者。
例如需要反复制作 grouped bar、line plot、trend plot、heatmap 等结果图,统一模板能够明显减少重复工作。
第三类是正在使用 Cursor、Claude Code 等 AI coding agent 的科研人员。
对于这部分用户来说,figures4papers 不仅是代码库,也是一个可以被 AI 阅读的“绘图规范”。
第四类是希望改善论文 Figure 一致性的研究团队。
团队论文中最常见的问题之一,就是不同作者负责不同 Figure,最终出现字体、颜色、线宽和图例完全不同的情况。
如果把 figures4papers 这样的设计规范作为团队内部的 plotting guideline,再结合自己的研究领域进行调整,可以减少这种视觉不一致。
figures4papers应该怎么使用?
对于普通科研人员,我更建议从“参考代码”开始,而不是直接研究整个仓库。
第一步,进入 figures4papers GitHub 仓库,先看 README 中的示例以及 figure_* 项目。
第二步,如果你使用 AI coding agent,可以直接让 Agent 阅读:
scientific-figure-making/SKILL.md然后根据需要进一步读取:
references/design-theory.md
references/api.md
references/common-patterns.md项目官方已经给出了相应的 prompt 模板,因此不需要自己从零设计一套指令。
第三步,把自己的数据结构、需要比较的变量以及目标图形告诉 AI。
例如:
Create a publication-quality grouped bar chart using the figures4papers scientific-figure-making skill. Compare five methods across three datasets. Use the repository's semantic color conventions and export both PDF and PNG.
然后让 AI 生成 Python 脚本。
第四步,不要直接把 AI 输出的 Figure 放进论文。
至少需要人工检查四个方面:数据是否与原始分析一致,统计信息是否正确,图例和坐标轴是否清楚,以及最终尺寸是否符合目标期刊要求。
figures4papers与普通AI“生成图片”有什么区别?
这一点也值得特别说明。
figures4papers 的核心不是让 AI“画一张看起来很漂亮的科研图片”。
它更接近:
让 AI 按照一套确定的科研绘图规则编写 Python 绘图代码。
这两者的差异很大。
生成式图像模型擅长视觉表达,但对于精确的科学数据可视化,需要保证每个柱子的高度、每条线的位置、误差线以及坐标轴都与真实数据严格对应。
figures4papers 的 workflow 则保留了代码驱动绘图的优势:数据 → Python代码 → Figure。
因此,最终生成的图仍然可以通过代码重新生成和修改。
对于论文投稿而言,这一点比单纯追求“视觉漂亮”更加重要。
figures4papers真正值得借鉴的,是一套科研绘图思维
如果仔细研究 figures4papers,会发现它真正值得学习的并不是某一个颜色或者某一段 Matplotlib 代码,而是它对科研 Figure 的整体理解。
一张好的论文图应该做到:
数据准确 → 信息层级清晰 → 视觉编码一致 → 版式简洁 → 输出规范 → 可以重复生成。
其中最后一点尤其容易被忽略。
如果一张 Figure 是研究人员手工调整了几十个参数之后得到的,那么下次修改数据、增加一个实验条件或者更换一个模型时,很可能需要重新调整。
而 figures4papers 所强调的 Python script + reusable helper + standardized export workflow,可以把 Figure 从一次性的“图片”变成一个可重复生成的科研资产(reproducible figure asset)。
这也是 figures4papers 与普通“论文配色模板”最大的区别。
figures4papers值得收藏吗?
对于需要制作英文论文 Figure 的科研人员来说,figures4papers 是一个值得收藏和研究的开源项目。
它的价值并不在于“所有论文都应该使用完全相同的风格”,而在于它提供了一套已经经过真实论文实践检验的绘图范式。
尤其是 scientific-figure-making skill 的加入,让 figures4papers 从单纯的 Python 脚本仓库进一步变成了一个可以被 AI coding agent 调用的科研绘图知识库。项目官方目前已经把 SKILL.md、设计理论、API、常见绘图模式、教程和真实项目示例组织起来,形成了比较完整的工作流。
对于正在使用 AI 辅助科研的研究人员来说,这种思路可能比“让 AI 帮我画一张图”更值得关注:
不是让 AI 替你决定科研数据应该如何表达,而是让 AI 按照明确的科研设计规范,把你的数据稳定地转换成可编辑、可复现、适合论文排版的 Figure。
如果你正在准备论文,建议直接从 figures4papers 的官方仓库开始:
