| name | paper-figure |
| description | Use this skill when the user wants to create or improve a figure/chart for an academic paper or presentation (图表制图/论文绘图/画对比图/结果图/出版级图表), including writing matplotlib/seaborn/TikZ code for experiment results. |
出版级数据图表(matplotlib / seaborn / TikZ 代码)的命令行形态。站内「科研绘图」(/tools/figure-prompt)走的是另一条路:文生图科研示意图提示词 + draw.io 架构/流程图。
When to use
- 用户要为论文 / 投稿 / 答辩画实验结果图、方法对比图、消融图。
- 用户已有图但被审稿人说「不专业 / 看不清 / 配色差」,要按出版规范重做。
- 不适用:架构示意图 / 流程图(那是 drawio/tikz 示意图问题,不是数据图表)。
Inputs
- 要传达的结论(必需):先问清「这张图想让读者一眼看出什么」,再选图型。
- 数据(强烈建议):CSV / 表格 / 数字。没有真实数据时只能出带占位数据的模板代码。
- 排版目标(默认期刊单栏):单栏 3.5 in / 双栏跨栏 7.0 in / 幻灯片 16:9。
- 依赖:本地有
python3 + matplotlib 时可直接运行验证(运行前确认);没有就只交付代码。
Steps
- 确认结论与数据。数据是用户给的就逐字使用;用户没给,生成独立的
load_data() 函数放显式标注的示例数据,并提醒替换。
- 依据结论选图型(不盲从用户最初说法,更优时给出理由):组间对比→条形图(带误差棒);趋势→折线;分布→箱线/小提琴;相关→散点+拟合;多指标多方法→分组条形或雷达慎用。
- 写完整可运行代码,内置出版规范:
- 配色:Okabe-Ito 色盲友好调色板
["#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7", "#000000"];
- 尺寸/字号:单栏
figsize=(3.5, 2.6) 字号 8–9 pt;双栏 figsize=(7.0, 3.0),子图标 (a)(b)(c);幻灯片 figsize=(10, 5.6) 字号 ≥ 18 pt;
- 导出:矢量
savefig("fig.pdf", bbox_inches="tight"),dpi 无关紧要但位图预览另存 300 dpi PNG;
- 细节:坐标轴标签带单位;图例不遮数据;有不确定度画误差棒/置信带;去掉无意义的顶右边框。
- 本地能跑就跑一遍:
python3 fig.py,确认无报错且生成了 PDF,把输出文件路径告诉用户;跑不了就说明原因。
- 交付时附 4 条投稿自查项:缩放 400% 文字不糊(矢量)、灰度打印仍可分辨、图注自含(不读正文能懂)、字号不小于期刊脚注字号。
Guardrails
- NEVER 编造或「美化」实验数据——用户数据一个数字都不许改;示例数据必须显式注释
# 示例数据,请替换。
- NEVER 用红绿对比作为唯一区分手段(色盲不可读),线型/标记形状必须冗余编码。
- 运行用户环境中的代码前先确认;写文件不覆盖已有文件,先检查路径。
- 不确定期刊的栏宽时按通用值(3.5/7.0 in)并明说假设,不假装知道该期刊规范。
Example
用户:「画四个方法在三个数据集上的 Dice 对比,投 MICCAI(单栏)」
- 要数据(12 个数值 + 是否有标准差);
- 选分组条形图 + 误差棒,Okabe-Ito 前 4 色 + 不同填充纹理冗余编码;
- 产出
fig_dice.py(figsize 3.5×2.6,8 pt,导出 fig_dice.pdf),本地运行验证后给出自查清单。