把这个 Skill 交给你的 Agent

复制下面的提示词,粘贴给 Claude Code、Codex 或任何能读网页的 Agent。它会替你装好,并告诉你这个 Skill 做什么。

请帮我安装这个 skill。

先阅读 https://cwyz.com/zh/skills/scientific-figure-making
原始 SKILL.md 在 https://cwyz.com/api/skills/scientific-figure-making/raw

把它保存为我的 skills 目录下的 scientific-figure-making/SKILL.md(Claude Code:所有项目通用放 ~/.claude/skills/,只用于当前项目放 .claude/skills/)。

装好后用两句话告诉我它做什么、什么时候会用到。在我确认之前,不要执行它里面描述的任何操作。

也可以把下载的压缩包解压到 ~/.claude/skills/(所有项目)或项目里的 .claude/skills/。 Skill 是在指挥 Agent 做事。装之前先读一遍,不是你自己写的尤其要读。

Scientific Figure Making 照顶会的出图习惯画论文图

当用户要给论文、学术报告或答辩幻灯片画 matplotlib 数据图(分组柱状图、消融实验、训练曲线、热力图、多子图)并导出 PNG/PDF 矢量图时使用。基于 figures4papers 仓库(CC BY-NC 4.0,仅限非商业):按作者发表在 Nature Machine Intelligence、ICML、NeurIPS 等的出图规范统一字体、配色、线宽和导出;只用用户给的数据,不清楚就先问。不用于 Plotly 等交互图、探索性画图和 3D/地图。

应用场景让 Agent 按顶会论文的出图规范,把你的实验数据画成可以直接放进论文的柱状图、曲线图和热力图。

Scientific Figure Making 照顶会的出图习惯画论文图

用户要给论文、学术报告或答辩幻灯片画数据图时,你按 figures4papers 仓库里的 scientific-figure-making 规范写 matplotlib 脚本。作者是耶鲁大学的计算机博士生,这个仓库收的是他自己发表在 Nature Machine Intelligence、ICML、NeurIPS、ECCV 等期刊和会议上的出图脚本。这套 Skill 把这些脚本里反复用到的样式和导出习惯整理成了规则。仓库用的是 CC BY-NC 4.0 许可,只允许非商业使用,并且要署名。

触发

用户说"帮我画论文里的图""把这组实验结果画成柱状图""做个消融实验的图""画训练曲线""出 PDF 矢量图投稿用",或者要求"和 figures4papers 一样的风格"。

不适合:

  • 交互式图表或网页可视化(Plotly、Altair、Bokeh)。
  • 只是自己看数据、还没打算放进论文的探索性画图。
  • 以 3D、地图为主的图。
  • 在 Illustrator、Figma 里排版的示意图和信息图。

硬性规则

  1. 数据只用用户给的。 不补数,也不编造或"修饰"结果。缺数据就问,示意图里用的假数据要在脚本和回复里写明是示例。
  2. 按需读参考文件。 先读 SKILL.md,再按下表只打开要用的那个参考文件,不要一次全读。
  3. 这些函数要你自己写进脚本。 apply_publication_style、make_grouped_bar、finalize_figure 等是 references/api.md 里规定的接口,不是可以 pip install 的库。按 api.md 的签名实现,或者改写 figure_* 文件夹里的现成脚本。
  4. 关键信息不清楚先问。 比较哪几组、几个子图、哪个是"我们的方法"、分辨率、数据格式,这些会改变图的样子,没说清楚就先和用户确认。
  5. 纵轴不从 0 开始时要说清楚。 规范允许把纵轴收紧到数据所在范围,好让差异看得见,但要在回复里提醒用户,必要时在图注里写明,别让读者误判差距。
  6. 许可证要告诉用户。 用户把仓库里的脚本或图用到商业产品、付费课程这类场合时,提醒用户 CC BY-NC 4.0 不允许商用。

安装

先检查:

ls ~/.claude/skills/scientific-figure-making/SKILL.md 2>/dev/null && echo "installed" || echo "not installed"

没装的话,告诉用户会把仓库克隆到哪里、链接到哪里,同意后:

git clone https://github.com/ChenLiu-1996/figures4papers.git ~/figures4papers
mkdir -p ~/.claude/skills
ln -s ~/figures4papers/scientific-figure-making ~/.claude/skills/scientific-figure-making

Codex 把最后两行里的 ~/.claude/skills 换成 ~/.codex/skills,Cursor 换成 ~/.cursor/skills。装好后要重启 Agent 才能识别。更新时在 ~/figures4papers 里运行 git pull。

不想装的话,也可以在 Agent 里打开这个仓库,直接按路径读 scientific-figure-making/SKILL.md。

运行环境:Python 3、matplotlib、numpy。标签里有复杂公式时才打开 use_tex,那样还需要本机装好 LaTeX。

参考文件

文件 什么时候打开
references/tutorials.md 从头做一张柱状图、趋势图或热力图的完整步骤
references/api.md 函数签名、PALETTE 配色、参数校验规则
references/common-patterns.md 超宽画布、单独的图例子图、适合黑白打印的柱子
references/design-theory.md 字体、导出和配色背后的理由
references/demos.md 仓库里各个 figure_* 示例脚本的链接

风格要点

方面 规范
字体 无衬线,顺序 Arial、Helvetica、DejaVu Sans。大幅对比柱状图 24 号,紧凑子图 15 到 16 号
坐标轴 去掉上边框和右边框。轴线宽 2 到 3,大图用 3
配色 深蓝 #0F4D92 给提出的方法或关键结果,绿色系表示提升,红粉色系给对照方法,灰色 #CFCECE 给基线和背景
图例 不加边框。曲线或分组多时,单独留一个关掉坐标轴的子图放图例
柱状图 黑色描边(线宽 1.5 到 3),数值直接标在柱子上方。消融实验用同一种蓝色、不同透明度,要黑白打印时加斜线或点状填充
曲线 每个子图 2 到 4 条主曲线,线宽 2 到 3,不确定范围用 fill_between 画阴影,网格尽量不用
版式 3 到 4 个指标放一排时用超宽画布(宽是高的 3 到 4 倍),同一排子图的字号、线宽、颜色含义保持一致
导出 300 dpi,很密的柱状图用 600 dpi。同时出 PNG 和 PDF。SVG 设 svg.fonttype = 'none' 保留可编辑文字。无界面环境先 matplotlib.use("Agg")

流程

  1. 问清用途(论文正文、补充材料还是幻灯片)、数据和要比较的对象,确认哪个是用户自己的方法。
  2. 按图的类型打开 tutorials.md 或 demos.md,挑最接近的 figure_* 示例作参照。
  3. 写脚本:先调用 apply_publication_style,再画图,最后用 finalize_figure 导出到 figures/ 目录,文件名固定。
  4. 运行脚本,打开导出的 PNG 检查:文字有没有重叠或截断、图例有没有挡住数据、颜色含义是否和用户的方法对应。
  5. 把图和脚本路径交给用户,说明纵轴范围和用到的示例数据。

输出格式

  1. 脚本路径和导出文件路径(PNG、PDF,需要时加 SVG)。
  2. 一张导出图的预览。
  3. 颜色和方法的对应关系、纵轴范围,以及需要用户补的数据。

一句话

先问清数据和比较对象,按规范写 matplotlib 脚本,导出 PNG 和 PDF 后自己看一遍再交付。

读完了?标记一下,记录学习进度。登录
收藏起来,稍后再看登录
对这篇有疑问?向 Ask AI 提问

评论(0)

还没有评论,来说第一句。

登录后参与讨论。登录