☰
8 步核心工作流:scipilot-figure-skill 如何把原始数据变成期刊投稿图
2026/10/3 22:35:29 网站建设 项目流程

8 步核心工作流:scipilot-figure-skill 如何把原始数据变成期刊投稿图

【免费下载链接】scipilot-figure-skillSciPilot Skills family - Publication-grade scientific figure copilot for Claude Code项目地址: https://gitcode.com/gh_mirrors/sc/scipilot-figure-skill

scipilot-figure-skill是 Claude Code 生态里的一个「科研数据可视化顾问」AI 技能:它不是简单的画图工具,而是按照8 步核心工作流——先剖析数据、再选图型、再按期刊规范绘制与自检——把你的 CSV / Excel 原始数据,一步步变成 Nature、Science、IEEE、Elsevier、PNAS 和中文核心期刊都认的出版级投稿图。

为什么不能"上来就画"?

科研画图的痛点通常不是"不会用 matplotlib",而是手上一堆数据,不知道该用什么图把结论讲清楚。scipilot-figure-skill 的定位很明确:首要能力是思考与判断,其次才是绘制。

对比项普通画图工具scipilot-figure-skill
你说"画柱状图"直接plt.bar()出图先做数据剖析:列类型、样本量、分布、异常值
选图依据用户拍脑袋按数据特征 + 论证目标查决策框架
n=5 想画均值柱照画主动拦截,建议改用 stripplot
维度太多硬塞一张图建议拆图
出图后没人回看程序自检 + AI 读图复核,闭环到通过

完整的设计哲学写在 SKILL.md,8 步工作流正是它与"画图脚本"的根本区别:每一步缺位,前一步的成果都不该执行。

8 步核心工作流:从原始数据到投稿级成图

0 理解任务 → 1 剖析数据 → 2 选图 → 3 查规范 → 4 配环境 → 5 绘制 → 6 自检闭环 → 7 导出

第 0 步:明确论证目标——先想清楚"这张图要证明什么"

同样一份数据,论点不同,图完全不同。比如"药物 A 和 B 对比"这份数据:

  • 想证明"A 整体快于 B" → 箱线图
  • 想证明"两者在 t=3 分歧最大" → 折线图 + 误差带
  • 想证明"个体差异极大" → spaghetti plot

所以第 0 步只回答两件事:这张图要说服读者相信什么?数据在哪里、长什么样?如果目标没说清,技能会主动追问,而不是默认"用户知道自己要什么"。

第 1 步:剖析数据——用事实驱动图型选择

运行 scripts/profile_data.py,输入一个 CSV 即可:

python scripts/profile_data.py data.csv --group group

输出的剖析报告包含四块核心信息:每列类型 / 样本量 / 缺失率、连续列的分布统计与异常值、分组样本量结构、相关性矩阵,外加初步图型建议。读懂这份报告的完整手册在 references/data_profiling.md。

重点核对三件事:列类型识别对不对(数字 ID 被误认是常见坑)、每组 n 是多少(小样本要警告)、分布是否高度偏态(可能需要对数轴)。

第 2 步:选图——推荐 + 理由 + 备选

这是"顾问职责"的核心。基于第 0、1 步的事实,查 references/chart_selection.md 的决策框架决定图型,规则很简单但很硬:

  • 给出推荐 + 简短理由 + 1-2 个备选,不丢一个选择让用户猜
  • 分组组合 > 12 → 明确建议拆图
  • 用户指定的图型不适合数据(如 n=5 画均值柱)→ 善意指出问题,给出更好的选择
  • 双峰分布、严重异常值、跨量级 → 在建议里明确提及特殊处理

常用速查:n<10/组用 stripplot(严禁均值柱)、时间趋势用折线 + 误差带、矩阵数据用热力图(viridis / RdBu_r,远离 rainbow 色图)。

第 3 步:查期刊规范——栏宽、字号、DPI 一次查清

确定目标期刊后查 references/journal_specs.md,拿到单/双栏宽、字号下限、推荐字体、DPI 与矢量格式偏好。几个关键数字:

期刊单栏宽字号子图标签
Nature 系列3.5 in(89 mm)5-7 pta, b, c(小写加粗)
Science2.2 in(单栏极窄)5-7 ptA, B, C(大写加粗)
IEEE3.5 in8-10 pt(a)(b)(c)

不知道目标期刊就先问一句——"毕业论文 / 中文核心 / 英文 SCI / NeurIPS" 对应的是完全不同的规范。

第 4 步:配环境——一行搞定期刊预设与中文字体

from setup_style import setup_style setup_style(journal='nature', lang='en') # 英文 Nature setup_style(journal='general', lang='zh', serif_for_zh=True) # 中文宋体 + Times 数字混排

scripts/setup_style.py 自动完成三件事:套用期刊预设、按Noto Sans CJK > Source Han Sans > SimHei优先级配置中文字体、修复负号方框(unicode_minus)。中文 matplotlib 出"豆腐块"方框的老问题,从源头解决。

第 5 步:绘制——9 类图配方 + 强制约束

按 references/plot_recipes.md 的对应配方画,覆盖折线、柱状、散点、箱线/小提琴、热力图、误差棒、分布图、相关性矩阵、多面板组合 9 类,每节都有可直接复制的代码 + 常见坑。

画图时有三条强制约束:

  1. figsize直接定最终尺寸(如 Nature 单栏(3.5, 2.625)),导出后绝不在 Word / LaTeX 里二次缩放
  2. 默认色盲安全配色(Okabe-Ito /colorblind)+ 冗余编码(线型 / marker)
  3. 误差棒必须在图注交代 SD / SEM / 95% CI + 样本量 n

第 6 步:自检闭环——程序 + AI 读图,把问题挡在投稿前

v2.1 最核心的升级:出图后渲染 PNG → 程序自检 → AI 读图复核 → 回改重渲,三层全过才算完。

  • 语义层:对照 references/viz_pitfalls.md 的 18 条科研画图禁忌查图型 / 配色 / 误差是否踩坑
  • 形式层:对照 references/publication_checklist.md 查尺寸、DPI、字号
  • 视觉层:scripts/visual_qa.py 抓缺字乱码、文字裁切、刻度重叠等确定性问题;AI 直接读 PNG,对照 references/visual_review.md 的 8 项清单核对"图例压数据、子图 a/b/c 对齐、灰度可分"这些程序查不出的感知问题

任何一层不通过就回去改图、重渲、再读,直到通过。

第 7 步:导出——矢量优先 + 灰度预览 + 机器审计

from export_figure import export_figure export_figure(fig, basename='figs/fig1', formats=['pdf', 'svg', 'png'], size_inches=(3.5, 2.625), dpi=300, grayscale_preview=True) # 自动出灰度版供色盲检查

scripts/export_figure.py 按最终尺寸多格式导出,最后再跑一遍 scripts/check_figure.py--strict做机器审计(格式 / DPI / 字体嵌入)。

五条硬性原则:审稿人挑刺的地方,全在这

#原则为什么
1按最终尺寸出图,不二次缩放9 pt 缩 50% 就变 4.5 pt,直接打回
2矢量优先(PDF / SVG / EPS),绝不 JPEG矢量缩放不糊,JPEG 有压缩 artifact
3配色对色盲友好 + 冗余编码约 8% 男性色觉异常,红绿对比对他们传达力归零
4字号在最终尺寸下可读(≥6 pt)编辑会按 mm 打印查字号
5误差必有交代(类型 + n + 检验方法)SD 和 SEM 差一个 √n,混淆 = 退稿

主动拦截:它会礼貌地拒绝你的错误请求

这是"顾问"最迷人的地方——发现请求会踩坑时,先说明再给替代方案,不默默照做。比如你说"帮我画 3 组各 5 个样本的均值柱状图",它会回复:

n=5 太小,均值柱掩盖分布——审稿人很可能要求 "show individual data points"。我建议改成箱线 + stripplot 叠加每个点:5 个点直接可见,反而更可信。要按原方案画,还是改?

完整拦截清单(P1-P18)在 references/viz_pitfalls.md:双 Y 轴捏造相关性、饼图、Y 轴截断、一图多论点、中文方框、子图编号乱飞……每条都写清了"错误是什么 → 审稿人视角 → 正确做法"。

快速上手:如何安装 scipilot-figure-skill

把仓库放到 Claude Code 的技能目录即可:

git clone https://gitcode.com/gh_mirrors/sc/scipilot-figure-skill ~/.claude/skills/scipilot-figure-skill pip install -r ~/.claude/skills/scipilot-figure-skill/requirements.txt

核心依赖是 matplotlib + seaborn + plotly + pandas(见 requirements.txt);SciencePlots / pypdf / kaleido 是可选增强,缺失时优雅降级不影响运行。装完后直接丢一句"我有 results.csv,帮我画成论文图",技能就会按 8 步工作流跑起来。

关键文件导航

文件作用
SKILL.md技能主文档:工作流、五条原则、拦截规则
references/chart_selection.md选图决策框架(每次选图必读)
references/data_profiling.md剖析报告解读手册
references/journal_specs.md主流期刊栏宽 / 字号 / DPI / 字体规范
references/plot_recipes.md9 类图的完整配方
references/viz_pitfalls.md18 条科研画图避坑清单
references/publication_checklist.md投稿前形式合规清单
references/visual_review.mdAI 读图自检 8 项清单 + 回改循环
scripts/6 个工具脚本:剖析、样式、导出、自检、布局

一句话总结:先想清楚论证什么,再用事实选图,按规范画,过闭环检,最后导出——这 8 步走下来,你的数据图自然就是投稿级的了。

【免费下载链接】scipilot-figure-skillSciPilot Skills family - Publication-grade scientific figure copilot for Claude Code项目地址: https://gitcode.com/gh_mirrors/sc/scipilot-figure-skill

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询