scipilot-figure-skill:让 AI 先思考后绘图的科研数据可视化顾问完全指南
【免费下载链接】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是 SciPilot Skills 家族成员,一个专为科研工作者打造的AI 数据可视化顾问(Claude Code / Codex / Cursor Skill)。它的核心理念是"先思考后绘制"——先剖析你的数据、判断该用什么图,再按Nature / Science / IEEE等出版级标准成图。基于 matplotlib + seaborn + SciencePlots 与 plotly 构建,并自动配置中文字体,让科研图表一次就达到投稿要求。
为什么它是"可视化顾问",而不只是画图工具 🧭
科研画图的真正痛点,往往不是"不会用 matplotlib",而是"手里一堆数据,不知道该用什么图把结论讲清楚"。这正是 scipilot-figure-skill 想解决的问题。
| 普通画图工具 | scipilot-figure-skill |
|---|---|
你说"画柱状图",它直接plt.bar() | 先做 EDA:列类型、样本量、分布、异常值、相关性 |
| 顺从用户指令 | 主动追问:"你想论证什么?组间差异?趋势?关系?" |
| 画出小样本均值柱 | 主动拦截 n=5 的均值柱,建议改用 stripplot |
| 维度硬塞进一张图 | 维度 > 12 时建议拆图 |
它的首要能力是"思考与判断",其次才是"绘制"。
核心工作流:8 步从原始数据到出版级成图 📊
这是本 Skill 与普通画图工具的根本区别——不能上来就画,每一步都建立在前一步之上:
| 步骤 | 做什么 | 对应资源 |
|---|---|---|
| 0. 理解任务 | 这张图要论证什么?数据在哪? | — |
| 1. 剖析数据 | 列类型 / 样本量 / 分布 / 异常 / 相关 | scripts/profile_data.py |
| 2. 选图 | 按数据形态 + 论证目标决策 | references/chart_selection.md |
| 3. 查规范 | 栏宽 / 字号 / DPI / 字体 | references/journal_specs.md |
| 4. 配环境 | 期刊预设 + 中文字体 | scripts/setup_style.py |
| 5. 绘制 | 9 类图配方 | references/plot_recipes.md |
| 6. 自检闭环 | 程序自检 + AI 读图 | references/visual_review.md |
| 7. 导出 | 多格式 + 灰度预览 | scripts/export_figure.py |
主动拦截 18 个科研画图的经典错误 🚫
references/viz_pitfalls.md 内置了 18 条"避坑清单"。当你的需求踩中其中一条时,Skill 会先说明问题、再给替代方案,而不是默默照做:
- P1 均值柱掩盖分布:n<10 时均值柱会误导审稿人 → 改用箱线 + stripplot
- P2 双 Y 轴:视觉上的"相关"是作图者捏造的 → 拆子图或标准化
- P3 饼图 / 3D 图:人眼判断角度误差大 → 横向柱状
- P14 rainbow / jet 色图→ 改用 viridis / RdBu_r
- P16 中文 / 负号变方框→
setup_style自动配置 CJK 字体 - P18 子图编号乱放→
add_panel_labels一键对齐
完整 18 条(每条附"审稿人视角"解释)见 references/viz_pitfalls.md。
五条硬性原则:让图表一次过审 ✅
| 原则 | 说明 |
|---|---|
| 按最终尺寸出图 | figsize直接定 Nature 单栏 3.5 in,不二次缩放 |
| 矢量优先 | 数据图走 PDF / SVG / EPS,绝不 JPEG |
| 色盲友好配色 | 默认 Okabe-Ito + 冗余编码 + 灰度预览 |
| 字号可读 | 7–9 pt,最小 6 pt |
| 误差必有交代 | 图注写清 SD / SEM / 95%CI + n + 检验方法 |
中文图表与多期刊规范支持 🌏
- 中文字体自动配置:
setup_style(lang='zh')按优先级查找 Noto Sans CJK SC > Source Han Sans > SimHei > 微软雅黑,并修复负号方框,从源头消灭"中文变方框"。 - 中文期刊混排:传
serif_for_zh=True,实现"宋体正文 + Times New Roman 数字"。 - 多期刊规范:内置 Nature / Science / IEEE / Elsevier / PNAS / 中文核心期刊的栏宽、字号、DPI、字体速查,见 references/journal_specs.md。
v2.1 新增:出图后的视觉自检闭环 🔍
普通工具画完就结束,于是中文方框、文字被裁、图例压数据全留到投稿才暴露。v2.1 补上了出图后的闭环:
绘制 → 渲染 PNG → 程序自检(缺字/裁切/重叠) + AI 读图(遮盖/子图对齐/灰度) ↓ 发现问题 回到对应步骤改图 → 重渲 → 再读,直到通过- 程序抓确定性问题:scripts/visual_qa.py 的
audit_layout()拦截缺字乱码、文字越界裁切、刻度标签重叠。 - AI 读图抓感知性问题:渲成 PNG 后用多模态读图核对图例是否压数据、子图 a/b/c 是否对齐、配色灰度可分——这些是程序查不出来的。
详见 references/visual_review.md。
快速上手:安装与使用 🚀
克隆仓库到 Claude Code 的 skills 目录,并安装依赖(Python 3.9+):
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之后在 Claude Code / Codex / Cursor 里直接说"我有这份 results.csv,帮我画成论文图",Skill 会先剖析数据、追问论证目标、给出推荐图型,确认后才进入绘制流程。
常用命令行:
# 数据剖析(思考的起点) python scripts/profile_data.py results.csv --group group --group condition # 合规自检(投稿前最后过一遍) python scripts/check_figure.py figs/*.pdf --min-dpi 300 --strict项目结构一览 📁
| 目录 / 文件 | 作用 |
|---|---|
| SKILL.md | 技能主文档,定义触发条件与工作流 |
| scripts/profile_data.py | 数据剖析 / EDA |
| scripts/setup_style.py | 期刊预设 + 中文字体 |
| scripts/export_figure.py | 多格式导出 + 灰度预览 |
| scripts/check_figure.py | 文件合规自检 |
| scripts/layout_tools.py | 子图标签对齐 + 版面整理 |
| scripts/visual_qa.py | 渲染预览 + 程序自检 |
| references/ | 7 份按需查阅的参考文档 |
| requirements.txt | 依赖清单 |
它适合谁?
- 写论文需要出版级数据图的科研工作者
- 数据在手却不确定该用什么图的同学
- 被"中文 matplotlib 出方框"困扰的人
- 投稿总被审稿人挑图表毛病的作者
它专注纯数据图——折线、柱状、散点、箱线 / 小提琴、热力图、误差棒、分布图、相关矩阵、多面板组合;不做示意图、流程图、架构图。
SciPilot Skills 家族还包含文献引用、学术写作等成员,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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考