用途
Paper Plot 用于产出论文质量的 matplotlib 图,方式有两种:一是用预置样式填充自己的数据,二是复现上传的论文图。所有输出均为 dpi=300 的 PNG。
使用前需注意:下文中的 <skill-dir> 指本 skill 所在目录,应替换为 skill 加载时告知的绝对路径。在 Windows 上读写 UTF-8 时,运行脚本前需加 PYTHONUTF8=1 前缀(详见 resources)。
选择模式
根据手头材料选择模式:
- 有数据 + 目标样式(或样式名)→
from-data,参考references/modes/from-data.md - 有一张待复现的论文图图片 →
from-image,参考references/modes/from-image.md
如果不确定哪种样式适合数据,from-data 说明了如何根据数据形态推断样式;from-image 说明了如何把图片匹配到某个样式,或从零构建。
样式目录(from-data)
| 样式 | 类型 | 脚本 | 适用场景 |
|---|---|---|---|
| bar_paired_delta | 柱状图 | scripts/bar_memevolve.py | Baseline vs method 配对对比 + 增益箭头 |
| bar_grouped_hatch | 柱状图 | scripts/bar_spice.py | 多方法消融,主方法斜线填充,柱顶数值 |
| line_confidence_band | 折线图 | scripts/line_selfdistill.py | 带置信区间的训练曲线 |
| line_training_curve | 折线图 | scripts/line_aime.py | 垂直断点线 + 水平参考线 |
| line_loss_with_inset | 折线图 | scripts/line_loss_inset.py | L 形 spine + 局部放大 inset |
| scatter_tsne_cluster | 散点图 | scripts/scatter_tsne.py | t-SNE 聚类 + 注释框 |
| scatter_broken_axis | 散点图 | scripts/scatter_break.py | 折断 X 轴,多 marker 系列 |
| radar_dual_series | 雷达图 | scripts/radar_dora.py | 双方法多维对比,正八边形网格 |
每种样式的精确参数(rcParams、颜色、字号、spines、ticks)保存在 references/styles/<style>.md,生成前需先阅读对应文件。
运行脚本
# 默认输出到当前目录的默认文件名:
python <skill-dir>/scripts/<script>.py
# 或指定输出路径:
python <skill-dir>/scripts/<script>.py my_figure.png
每个脚本靠前位置内嵌了其数据(有清晰标记)——复制脚本、替换数据块,然后运行。输出路径由 argv[1] 指定(默认是工作目录下的 *_repro.png 名称)。line_selfdistill.py 会输出两张图(argv[1]、argv[2])。
依赖与注意事项
需要 matplotlib、numpy。scatter_break.py 还需要 scipy;使用 usetex=True 的样式(bar_grouped_hatch、line_confidence_band、line_loss_with_inset、scatter_tsne_cluster)需要可用的 LaTeX 安装——如果没有 LaTeX,可改为 text.usetex: False。
资源
- 模式:
references/modes/from-data.md、references/modes/from-image.md - 样式:
references/styles/—— 8 个参数文件 - 从零分析:
references/reproduction_guide.md - 脚本:
scripts/—— 8 个样式脚本 +classwise_iou_table.py(from-image 示例) - 图库:
assets/originals/—— 10 张用于推导样式的论文图(供 from-image 匹配时作视觉参考)
其余信息(如各脚本的具体数据内容、样式文件的完整参数值、图库中每张图的来源与说明)暂未提供。