论文配图一键生成:从数据文件到投稿级图表的 Agent Skill

前言

写论文时,配图往往比正文更耗时间:改一次坐标轴或配色,就要在 Excel、GraphPad、R 之间来回导出;中文标签乱码、PDF 里文字叠在一起,又是投稿前常见的返工点。若你希望 Agent 在对话里直接读 JSON/CSV/Excel,本地渲染出可投稿的图,而不是只给一段 matplotlib 示例代码,下面介绍 SkillHub 上的 论文配图一键生成(包名 @indiv-sorsor/academic-figures)。

这是什么

论文配图一键生成 是一个基于通用 SKILL.md 格式的 Agent Skill:通过本机 python3 脚本,把结构化数据渲染成学术图表,全程在本地执行,数据不上传云端。SkillHub 页面当前版本为 v5.5.0,维护者为 @indiv-sorsor。

它面向「有真实数据、要出期刊规格图」的场景,而不是文本润色、商业仪表盘或无数据支撑的示意图(官方页面明确列出的不适用项)。

核心功能

以下能力均来自 SkillHub 技能页 及技能文档中的说明。

图表与数据输入

  • 支持从 JSON / CSV / Excel 读入数据,用一条命令生成图表。
  • 官方简介列出的图型覆盖科研常见类型,包括但不限于:森林图、KM 生存曲线(含风险表)、ROC、校准曲线、决策曲线(DCA)、列线图、RCS、亚组森林图、火山图、雨云图、山脊图、哑铃图、游泳图、肿瘤缓解瀑布图、UpSet、PRISMA 流程图、漏斗图、Bland-Altman、PCA、热图、箱线图、小提琴图、组合图、Cox 多因素回归森林图等(页面表述为 35 种图表)。

配色与期刊预设

  • 9 套配色,含色盲安全 Okabe-Ito 及期刊色板。
  • 9 种期刊投稿预设(页面列举 Nature、Lancet 等常见规范;具体宽度、字号、DPI 由 --journal 等参数套用)。
  • 支持 YAML 流水线,一次命令批量出全套论文图。

导出与质量门禁

  • 默认 600 dpi 出版级输出;技能文档支持 PNG / SVG / PDF / TIFF / EPS 等格式(部分场景可一次多格式导出)。
  • PDF 文字重叠门禁:导出前可用 --verify 做像素级重叠检测,发现问题以非零退出码拦截,避免把明显缺陷带进投稿包。
  • 技能文档另提供 audit_pdf.py 做 最小字号 校验(与期刊预设中的 min text 要求配合),形成「重叠 + 字号」双重检查思路。
  • 中文零配置:通过 CJK 字体检测与 --cjk 等机制减少乱码(首次运行通常需执行环境自检脚本)。

运行方式

  • 纯本地运行,数据不出本机。
  • 在 Agent 对话中可用触发词唤起,例如:论文配图、科研绘图、柱状图、热力图、散点图、森林图、KM 生存曲线、ROC、小提琴图、组合图、流程图、SCI 配图、期刊配图、色盲安全等(以技能 description 为准)。

安装与启用

安装流程以 SkillHub 官方文档 skillhub.md 为准。

1. 安装 SkillHub CLI(若尚未安装)

先检查是否已有 CLI:

command -v skillhub && skillhub --version

未安装时,可执行完整安装(含 CLI 与默认 Skill):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

若只需 CLI:

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only

2. 安装本 Skill 到当前 Agent 的 skills 目录

⚠️ 安装时必须用 --dir 指向当前 Agent 识别的 skills 目录,否则默认装到 ./skills/ 可能不会被加载。

skillhub search academic-figures
skillhub install @indiv-sorsor/academic-figures --dir <你的 skills 目录>

常用路径示例(摘自官方安装文档):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

在 Cursor 中可等价写成:

skillhub install @indiv-sorsor/academic-figures --dir ~/.cursor/skills/

也可在对话里让 Agent 按官方提示安装:

请根据 https://skillhub.cn/install/skillhub.md,安装 @indiv-sorsor/academic-figures。

3. 本机 Python 环境(技能运行时)

Skill 安装完成后,首次作图前建议在技能目录内运行环境自检(技能文档中的标准步骤):

python3 scripts/setup_env.py

该步骤负责依赖、CJK 字体与自检,避免后续渲染因环境缺失直接失败。

典型用法

下列命令来自技能内置 gen_figure.py 文档,可在安装后的技能根目录执行;路径中的 scripts/ 相对于技能包根目录。

向导与选型

不确定图型时,可先让脚本推荐或走向导:

python3 scripts/gen_figure.py --suggest -d data.json
python3 scripts/gen_figure.py --wizard

柱状图 + 色盲安全主题 + PDF 校验

适合投稿 PDF,并在导出前跑重叠门禁:

python3 scripts/gen_figure.py -t bar -d data.json -o fig.pdf --theme okabe-ito --verify

一键投稿包(技能文档中的 --pub-ready 会组合校验、主题与多格式等选项,具体以当前版本帮助为准):

python3 scripts/gen_figure.py -t bar -d data.json -o fig --pub-ready

森林图、KM、ROC

python3 scripts/gen_figure.py -t forest -d forest.json -o forest.pdf --theme okabe-ito
python3 scripts/gen_figure.py -t km -d survival.json -o km.png --theme okabe-ito
python3 scripts/gen_figure.py -t roc -d roc.json -o roc.png --theme okabe-ito

期刊预设(以 Nature 双栏为例)

python3 scripts/gen_figure.py -t bar -d data.json -o nat.pdf --journal nature --column double
python3 scripts/audit_pdf.py nat.pdf --min-size 5

中文热图

python3 scripts/gen_figure.py -t heatmap -d data.json -o heatmap.png --cjk \
  --cmap RdBu_r --vmin -20 --vmax 45

在 Agent 里使用时,通常只需描述数据路径、图型和期刊要求;Agent 读取 SKILL.md 后会代你拼上述命令并解释退出码(例如 --verify 检测到重叠时退出码为 2,应修图后再投)。

适用场景与注意

适合:

  • 写论文、投稿前需要把已有表格数据变成可投稿图;
  • 同一套数据要批量重出 PNG/PDF/TIFF 等多格式;
  • 希望本地处理敏感临床或组学数据,避免上传第三方绘图服务。

注意:

  • 需要本机可用的 Python 3 及技能依赖;无 Python 环境时,SkillHub 另有云端付费版 academic-figures-pro(与免费版本地版不同,需上传数据),本文不展开。
  • 复杂统计含义(该用 KM 还是 Cox、多重比较怎么设)仍需研究者自行把关;技能提供的是渲染与常见统计标注能力,不是论文写作或统计咨询替代品。
  • CSV 对部分复杂 schema(如带 errors 的结构、双轴、森林图专用字段)支持有限,文档建议改用 JSON。
  • 使用 --journal 时,图宽会被期刊预设锁定;大图矩阵可能触发降采样或超时,需按技能文档调整 --timeout 或数据规模。

结尾

论文配图一键生成 把「读数据 → 选图型 → 套期刊预设 → 导出多格式 → PDF 门禁」收成 Agent 可调用的本地流水线,适合已经具备数据、希望在 IDE 里少折腾返工配图的科研用户。

  • SkillHub 技能页:https://skillhub.cn/skills/indiv-sorsor/academic-figures
  • 官方 API 入口(SkillHub 用户页):https://api.skillhub.cn/user_481397b5/academic-figures
  • 安装说明:https://skillhub.cn/install/skillhub.md
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜