# Plot From Data

Generate publication-quality matplotlib figures by selecting a pre-built paper style...

- Repository: https://github.com/Trae1ounG/paper-plot-skills (936 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-04-20
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add Trae1ounG/paper-plot-skills --skill plot-from-data -g -a claude-code -y`
Codex: `npx skills add Trae1ounG/paper-plot-skills --skill plot-from-data -g -a codex -y`
Cursor: `npx skills add Trae1ounG/paper-plot-skills --skill plot-from-data -g -a cursor -y`
Gemini CLI: `npx skills add Trae1ounG/paper-plot-skills --skill plot-from-data -g -a gemini-cli -y`

## Description

Generate publication-quality matplotlib figures by selecting a pre-built paper style and substituting user data. Use when: user provides data (numbers, arrays, or CSV) and wants a chart in a specific academic style; user asks to "plot this data", "make a bar chart", "draw a radar chart", "用这个风格画图", "把我的数据画出来"; or user selects a style name from the style catalog (bar_paired_delta, bar_grouped_hatch, line_confidence_band, line_training_curve, line_loss_with_inset, scatter_tsne_cluster, scatter_broken_axis, radar_dual_series).

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Plot From Data

Generate a paper-quality figure by picking a style template and filling it with user data. All outputs are `dpi=300` PNG.

## Available Styles

| Style | Type | Script | 适用场景 |
|-------|------|---------|---------|
| `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` | 双方法多维对比，正八边形网格 |

## Workflow

```
1. 确认用户的图类型和数据
2. 选择对应 style（如不确定，询问用户或根据数据形状推断）
3. 读取对应 references/<style_name>.md 获取精确参数
4. 复制对应 scripts/<script>.py，替换数据区（脚本顶部有清晰注释标注数据区）
5. 运行：python3 scripts/<script>.py
6. 检查输出，必要时微调颜色/标签/字号
```

## Data Substitution Tips

每个 repro 脚本的数据区在文件顶部，通常是 `np.array(...)` 或字典。替换规则：
- 保持数组维度和类型不变
- 若类别数变化（如从 4 组改为 6 组），同步调整颜色列表和宽度计算
- x 轴标签、图例标签直接修改对应字符串列表

## Detailed Style Parameters

Read the corresponding file in `references/` for exact `rcParams`, colors, font sizes, spine settings, and tick directions before generating:

- Bar: `references/bar_paired_delta.md`, `references/bar_grouped_hatch.md`
- Line: `references/line_confidence_band.md`, `references/line_training_curve.md`, `references/line_loss_with_inset.md`
- Scatter: `references/scatter_tsne_cluster.md`, `references/scatter_broken_axis.md`
- Radar: `references/radar_dual_series.md`

