Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Academic Figure Skill

面向学术级科学图表生成Skill,可自动完成从数据解读到顶刊格式图表生成的全流程。

问题驱动 · 8 步闭环工作流 · 29 种图型 · 四轮 QA 协议 · 矢量 PDF 交付 · 统计报告

License Install Figure Types QA Language

项目介绍 · 安装与使用 · 图表类型 · 工作流 · 项目结构 · 质量评估 · 贡献指南 · English


Academic Figure Skill 以"问题驱动而非模板驱动"为核心原则——每一张图从科学问题出发,通过 8 步闭环工作流(用户意图解析 → 原型分类 → 图型论证 → 环境探测 → 风格注入 → 资产检索 → 渲染生成 → 质量验证),输出可直接投稿的矢量 PDF 主文件 + 300dpi PNG 预览 + 统计报告。更多详情,请关注微信公众号:科研绘图酱


效果预览

Academic Figure Skill 多面板效果预览

点击展开更多示例图表

示例图表2


项目介绍

Academic Figure Skill 是一个面向 AI 编程助手(Claude Code、Codex 等)的 Skill 包。其工作方式是:将 Nature / Cell / Science 系列期刊的图表制作规范(字体 Arial/Helvetica、栏宽 89mm/183mm、PDF 矢量导出、300dpi 栅格预览)和 29 种常见图型的视觉参数编码为 SKILL.md 及其引用的 16 份参考文档。当用户提供数据和科学问题后,Skill 引导 LLM 执行一个标准化的 8 步流程:澄清研究问题 → 分类图型原型 → 论证面板方案并获取用户确认 → 检测 Python/R 运行时 → 注入统一的排版和配色基线 → 扫描 assets/figures/ 中的生产脚本(匹配则原生运行,无匹配则跨类型继承视觉参数)→ 数据校验 → 4 轮 QA 自检 → 输出矢量 PDF 与统计报告。

该 Skill 不替代 Python 或 R 的绘图能力,而是提供一套结构化的约束条件(constraints)和先验知识(priors),使 LLM 在生成绘图代码时遵循 CNS 期刊的视觉标准,减少人工调整排版、配色和导出参数的工作量。在多面板合成场景中,Skill 支持 Python 脚本和 R 脚本的混合编排——R 面板通过 Cairo 设备渲染为位图,Python 的 compose.py 排版引擎按物理尺寸拼合多面板。

设计原则

原则说明
一幅图一个核心信息审稿人 3 秒扫读即懂;移除网格线、边框和无用图例
克制配色 > 丰富配色2-4 个语义主色 + 1 个强调色;禁用 matplotlib/ggplot 默认色板
面向印刷设计期刊固定栏宽(单栏 89mm / 双栏 183mm),创建时即设定尺寸,不再缩放
矢量优先线图/散点/柱状 → PDF/SVG;只有真正的栅格内容(热图色块/显微图)才用 ≥300dpi TIFF/PNG

核心能力

能力说明
原型分类四类范式:quantitative_grid(定量网格)、schematic-led(示意引导)、image plate + quant(图像-定量融合)、asymmetric_mixed(非对称复合)——自动驱动布局与英雄面板策略
29 种图型热图 / 火山图 / 柱状图 / 散点图 / 箱线图 / PCA / RDA / 雷达图 / 桑基图 / AUROC / 山脊图 / 小提琴图 / 边际密度 / 核密度 / Mantel 相关 / UpSet / 森林图 / 混淆矩阵 / 流形 / 堆叠柱散 / 配对箱线 / 标记基因点图 / 趋势线 / 3D 热图 / 频率热图 / 密度热图 / 相关矩阵 / 分组相关矩阵 / 分组小提琴——每种均有配套生产脚本(.py + .R)与预览 PNG
Copy-First 规则生成代码前扫描 assets/figures/<type>/,匹配到生产脚本则原生运行——Python 跑 .py,R 跑 .R,不翻译、不降级质量
跨类型参数继承无生产脚本时,从相近图型借用 Class A(硬参数:颜色/透明度/线宽)、Class B(比例参数:字号/尺寸)、Class C(逻辑参数:图例开关/网格开关)三类视觉参数
混合语言组合R 面板原生运行 → 输出 spec-correct PNG,Python 排版引擎按精确物理尺寸拼合多面板
英雄面板自动识别承载核心结论的面板自动获得更大的视觉权重,支撑面板居次排列
四轮 QA 协议Pass 0:反模式扫描(AP-0-7)→ Pass 1:代码级合规(CL-1-7)→ Pass 2:视觉逻辑与数据完整性(VI-1-6)→ Pass 3:渲染输出验证(VV-1-5),共 30+ 项检查
数据校验门禁逐面板预检——火山图需 ≥10 个显著差异基因、AUROC 曲线分离需 ≥0.15、热图须有跨行方差——不通过则拒绝渲染
统计与可复现报告每张图强制附带:n 定义、中心统计量(均值/中位数)、散布度量(SD/SEM/95%CI)、检验名称、多重比较校正、source-data 溯源
期刊配色系统Nature 偏冷蓝、Cell 偏暖、Science 偏保守灰;色盲友好,避免红绿独对区分
审稿人模拟模式从五个维度审视成品——科学清晰度、视觉层次、配色可访问性、排版可读性、整体完成度——给出 must-fix vs. suggestion 分级反馈

私有资产图表类型全览

图鉴中展示的示例图表基于项目私有数据资产生成,仅作为风格参考。用户请求生成同类型图表时,脚本在保留示例所确立的视觉语言(配色、字体、布局逻辑、图元层级)的前提下,依据实际数据完成适配性重构。私有资产持续更新中。更多详情,请关注微信公众号:科研绘图酱

图表名称预览图形特征典型应用场景
3D 热图立体柱面矩阵数值,高度+颜色双重编码多因子交互效应、基因型×环境矩阵、三维强度分布
AUROC 曲线图TPR-FPR 曲线,含对角参考线与 AUC 标注分类模型评估、多模型 ROC 对比、阈值敏感性分析
柱状图单变量条形高度编码,支持误差棒组间均值比较、单指标排序、计数统计
相关性密度图散点叠加二维核密度等高线两变量关系强弱、密集区识别、异常点检测
相关性矩阵图方形网格,色阶+数值双重展示成对相关系数多变量相关性总览、特征筛选前共线性检查
密度热图连续二维核密度颜色梯度铺满网格大样本点云密度分布、替代过度重叠散点图
频率 3D 热图立体柱面展示分箱频次等位基因频率分布、双因子计数交叉展示
分组相关性矩阵图按分组拆分的多个相关矩阵并列呈现不同处理/环境下相关结构差异比较
分组柱状图同一类别下并列多个子组条形多处理×多指标对比、重复实验组间差异
Mantel 相关性检验图相关矩阵热图叠加连线标注 r 值与显著性环境因子与群落/基因型矩阵关联、距离矩阵分析
PCA 主成分分析图样本投影至 PC 平面,附椭圆置信区间群体结构分析、样本聚类趋势、降维可视化
雷达图多轴放射排列,闭合多边形综合表现多指标品种/模型综合评估、性状剖面对比
山脊图多组密度曲线纵向错落叠放多组/多时间点分布形态对比、性状分布趋势
桑基图节点间流量宽度编码,多阶段流转通路/流程转化路径、类别间流动归因分解
堆叠柱状散点复合图堆叠柱体+叠加散点标注个体数值组成结构展示同时保留原始样本点
趋势图折线随连续变量走势,可含置信带性状随环境梯度变化、时间序列走势
小提琴图镜像密度轮廓呈现分布形状组间分布形态与离散程度比较、非正态数据展示

系统工作流

┌─────────────────────────────────────────────────────────────┐
│  User Intent Parsing / 用户意图解析                           │
└─────────────────────────────────────────────────────────────┘
  Step -1  需求澄清    │ 逆向提问锚定分析目标:"这份数据要回答什么问题?"
  Step 0a  原型识别    │ 四类范式判定:定量网格 / 示意引导 / 图像-定量融合 / 非对称复合
  Step 0b  数据解析    │ 问题驱动的结构化解析,拒绝模板化套用
  Step 1   图型论证    │ 循证式选型:N 个面板对应 N 个独立科学问题
  Step 2   环境探测    │ 运行时自检(Python / R 内核、依赖完整性)
  Step 3   风格注入    │ 视觉基线固化:字体系统 + 配色方案 + 导出规格
  Step 4   资产检索    │ 扫描 assets/figures/<type>/,逐面板匹配已有生产脚本
  Step 5   渲染生成    │ Copy-First 原生运行或跨类型参数继承
  Step 5.5 数据校验    │ 逐面板预判图表可用性,不通过则拒绝渲染
  Step 6   质量验证    │ 四轮 QA 协议,30+ 项检查点
  Step 7   成果交付    │ 矢量 PDF + 300dpi PNG + 统计报告 + QA 报告

核心原则:问题驱动而非模板驱动——图型选择基于科学问题的数量与结构,视觉风格通过资产库进行继承而非从零构建。


安装与使用

academic-figure-skill 是一个以 SKILL.md 为核心的 Skill 包。完整安装需保留 references/scripts/assets/install/ 等目录,Skill 依赖这些文件完成视觉基线注入、资产检索和跨平台适配。

Claude Code

如果尚未安装 Claude Code:

npm install -g @anthropic-ai/claude-code
claude

克隆仓库到稳定路径并安装 Skill:

mkdir -p ~/ai-skills
cd ~/ai-skills
git clone https://github.com/TingxiYu/academic-figure-skill.git
cp -r academic-figure-skill ~/.claude/skills/

安装后在 Claude Code 会话中直接描述需求即可自动触发:

请使用 academic-figure-skill 分析项目文件中的multip-traits.csv数据,并进行可视化分析。
用academic-figure-skill将data.csv数据绘制为一个 Nature 风格的差异表达火山图。

如需更新:

cd ~/ai-skills/academic-figure-skill
git pull
cp -r . ~/.claude/skills/academic-figure-skill/

Codex

Codex 支持通过 install/codex/ 中的 manifest.yaml + instructions.md 加载 Skill。将以下目录复制到 ~/.codex/skills/academic-figure-skill/

git clone https://github.com/TingxiYu/academic-figure-skill.git
cd academic-figure-skill
mkdir -p ~/.codex/skills/academic-figure-skill
cp -r SKILL.md references/ scripts/ assets/ install/codex/* ~/.codex/skills/academic-figure-skill/

安装后在 Codex 会话中自然描述需求,Skill 会根据 manifest.yaml 中的触发规则自动激活。

也可以让 Codex 代为安装:

从 https://github.com/TingxiYu/academic-figure-skill.git 安装 Codex skill。
克隆仓库后,将 SKILL.md、references/、scripts/、assets/ 和 install/codex/ 复制到 ~/.codex/skills/academic-figure-skill/。
保持完整目录结构,不要只复制 SKILL.md。

Cursor

将 Skill 规则文件复制到项目根目录,Cursor 在生成代码时会自动遵循其中的规范:

git clone https://github.com/TingxiYu/academic-figure-skill.git
cp academic-figure-skill/install/cursor/.cursorrules <your-project>/.cursorrules

.cursorrules 包含了配色方案、排版基线、导出规格等核心规则。如需更新规则,重新执行上述复制命令即可。

GitHub Copilot

将 Skill 指令文件复制到项目的 .github/ 目录,Copilot 在生成代码时会加载这些上下文:

git clone https://github.com/TingxiYu/academic-figure-skill.git
mkdir -p <your-project>/.github
cp academic-figure-skill/install/copilot/copilot-instructions.md <your-project>/.github/

如果已有 .github/copilot-instructions.md,建议将本 Skill 的内容追加到文件末尾。

其他 Agent

对于其他 AI 编程助手:

  1. 保持仓库的稳定克隆副本
  2. 创建一个轻量级的 subagent、slash command 或自定义 prompt wrapper,指向 SKILL.md
  3. 确保 references/scripts/assets/ 等目录与 SKILL.md 保持在同一相对路径下
  4. 如果 Agent 有特殊的格式要求,可基于 SKILL.md 调整 frontmatter 和 body 结构

项目结构

	academic-figure-skill/                          ← 核心 Skill 包(本目录)
    ├── README.md                      ← 项目说明文档(本文件)
    ├── LICENSE                        ← MIT 许可证
    ├── SKILL.md                       ← 技能入口:8 步闭环工作流 + 全部规则
    ├── references/                    ← 16 份共享知识文档
    │   ├── figure-contract.md         ← 图表合同:核心结论 + 证据链 + 审稿风险
    │   ├── color-palettes.md          ← 配色系统:分类/发散/连续 + 色盲友好
    │   ├── typography.md              ← 字体规范:Arial/Helvetica, ≥5pt 底限
    │   ├── journal-specs.md           ← 期刊尺寸:单栏 89mm / 双栏 183mm
    │   ├── export-specs.md            ← 导出规格:PDF/SVG 矢量 + 300dpi PNG
    │   ├── multipanel-layout.md       ← 多面板排版:反冗余 + 英雄面板 + 叙事顺序
    │   ├── directory-map.md           ← 图型目录映射:中英文关键词 → 资产路径
    │   ├── checklist.md               ← 完整 QA 检查清单
    │   ├── common-pitfalls.md         ← 常见陷阱与解决方案
    │   ├── revision-cases.md          ← 审稿修改案例库
    │   ├── journal-intel.md           ← 各期刊特有情报
    │   ├── figure-deconstruction.md   ← 图表解构:构图灵感参考
    │   ├── matplotlib.md              ← Python/matplotlib/seaborn 指南
    │   ├── complexheatmap.md          ← R ComplexHeatmap 指南
    │   ├── r-rendering.md             ← R PNG 渲染规范(cairo 设备)
    │   └── compose.R                  ← R 排版参考实现
    ├── scripts/                       ← 编译引擎 + QA 工具 + 评估套件
    │   ├── compose.py                 ← 多面板排版引擎
    │   ├── eval_runner.py             ← 全量资产审计(29 类型自动扫描)
    │   ├── trigger_benchmark.py       ← 触发准确率基准测试
    │   ├── qa_coverage.py             ← QA 检查覆盖度验证
    │   ├── qa_validator.py            ← 代码自动检查(AP-0~CL-7)
    │   ├── check_references.py        ← 引用完整性校验
    │   ├── e2e_runner.py              ← E2E 集成测试(A/B 场景自动评分)
    │   ├── check_colors.py            ← 配色合规检查
    │   ├── check_dimensions.py        ← 尺寸规范检查
    │   ├── check_export.py            ← 导出参数检查
    │   ├── check_fontsize.py          ← 字号合规检查
    │   ├── check_figure.py            ← 图表综合检查
    │   ├── generate_adapters.py       ← 跨平台适配文件生成
    │   ├── generate_atlas.py          ← 图鉴自动生成
    │   └── run_ab_tests.py            ← A/B 测试运行器
    ├── assets/
    │   ├── figures/                   ← 29+ 种图型生产脚本与预览
    │   │   ├── 3DHeatmap/             ← 3D 热图(R/ComplexHeatmap)
    │   │   ├── AUROC/                 ← AUROC 曲线
    │   │   ├── BarAblation/           ← 消融实验柱状图
    │   │   ├── BarCategorical/        ← 分类柱状图
    │   │   ├── BarComparison/         ← 模型对比柱状图
    │   │   ├── BarComposition/        ← 组成柱状图
    │   │   ├── BarDistribution/       ← 分布柱状图
    │   │   ├── ConfusionMatrix/       ← 混淆矩阵
    │   │   ├── CorrelationMatrix/     ← 相关性矩阵(ggpairs)
    │   │   ├── DensityHeatmap/        ← 密度热图
    │   │   ├── Frequency_3DHeatmap/   ← 频率 3D 热图
    │   │   ├── GroupedBarChart/       ← 分组柱状图
    │   │   ├── GroupedCorrelationMatrix/ ← 分组相关矩阵
    │   │   ├── GroupedViolin/         ← 分组小提琴图
    │   │   ├── KernelDensity/         ← 核密度估计
    │   │   ├── LineTrend/             ← 趋势折线图
    │   │   ├── Manifold/              ← 流形可视化
    │   │   ├── MantelCorrelation/     ← Mantel 相关性检验
    │   │   ├── MarginalDensity/       ← 边际密度图
    │   │   ├── MarkerGeneDotPlot/     ← 标记基因点图
    │   │   ├── PCA/                   ← PCA 主成分分析
    │   │   ├── PairedBoxScatter/      ← 配对箱线散点图
    │   │   ├── Radar/                 ← 雷达图
    │   │   ├── RidgePlot/             ← 山脊密度图
    │   │   ├── SankeyDiagram/         ← 桑基流图
    │   │   ├── StackedBarScatter/     ← 堆叠柱状散点复合图
    │   │   ├── Violin/                ← 小提琴图
    │   │   ├── heatmap/               ← 聚类热图
    │   │   ├── volcano/               ← 火山图
    │   │   ├── basic-plots/           ← 基础图型
    │   │   ├── multipanel/            ← 多面板模板
    │   │   └── other/                 ← 长尾图型
    │   └── figure-atlas/              ← 图鉴预览 PNG 合集
    └── install/                       ← 跨平台适配
        ├── claude-code/               ← Claude Code(原生支持,开箱即用)
        ├── cursor/                    ← Cursor IDE 适配
        ├── copilot/                   ← GitHub Copilot 适配
        └── codex/                     ← Codex CLI 适配

质量评估与测试

QA 四级协议

轮次名称检查项数说明
Pass 0反模式扫描 (AP)8默认色板、四边边框、图例内置、截图导出、jet 色条、无散点柱状图、默认字体、大样本未栅格化
Pass 1代码合规 (CL)7排版基线、配色方案、导出规格、资产确认表、无降采样、图表尺寸、期刊规范
Pass 2视觉逻辑 (VI)6数据范围、热图方差、相关性强度、PCA 分离度、分布形态、数据丢失透明度
Pass 3渲染验证 (VV)5PDF 生成、PNG 生成、非零文件、字体嵌入、尺寸正确

运行评估

# 全量资产评估
python scripts/eval_runner.py

# 单类型评估
python scripts/eval_runner.py --type Heatmap

# E2E 集成测试
python scripts/e2e_runner.py

# 触发准确率基准
python scripts/trigger_benchmark.py

贡献指南

Academic Figure Skill 采用 Skill 插件架构,添加新图型只需:

  1. assets/figures/ 下创建新目录 <FigureType>/
  2. 放入生产脚本(.py.R)和预览 PNG
  3. references/directory-map.md 中添加关键词映射
  4. 运行 python scripts/eval_runner.py --type <FigureType> 验证通过

许可证

Apache 2.0 © 2025 Academic Figure Skill

关于 About

A skill for academic research figure generation that autonomously handles the full workflow — data understanding, chart type recommendation, and format-compliant generation.

语言 Languages

Python83.7%
R16.3%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
9
Total Commits
峰值: 9次/周
Less
More

核心贡献者 Contributors