Use when structured numeric data, arrays, or CSV-like measurements should be turned into a publication-quality figure by adapting a bundled paper-style plotting template instead of improvising a new chart from scratch.
76
95%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Use this skill when the job is to turn measured data into a paper-quality figure quickly and consistently.
This companion skill is adapted from Trae1ounG/paper-plot-skills/tree/main/plot-from-data.
write, analysis-campaign, or experiment needs a first-pass paper-facing figure from structured resultsfigure-polishAll bundled templates emit a dpi=300 PNG first. If a paper-facing final export needs vector output or further visual refinement, hand the result to figure-polish after the first-pass render.
| Style | Type | Script | Best for |
|---|---|---|---|
bar_paired_delta | Bar | scripts/bar_memevolve.py | Baseline vs. method paired comparison with explicit gain arrows |
bar_grouped_hatch | Bar | scripts/bar_spice.py | Multi-method comparison or ablation with highlighted primary method |
line_confidence_band | Line | scripts/line_selfdistill.py | Training or scaling curves with uncertainty bands |
line_training_curve | Line | scripts/line_aime.py | Ordered curves with reference lines or breakpoint markers |
line_loss_with_inset | Line | scripts/line_loss_inset.py | Curves that need a local zoomed inset |
scatter_tsne_cluster | Scatter | scripts/scatter_tsne.py | Clustered embedding plots with annotations |
scatter_broken_axis | Scatter | scripts/scatter_break.py | Scatter plots with broken-axis layout for outliers or large gaps |
radar_dual_series | Radar | scripts/radar_dora.py | Two-method multi-dimension comparison |
1. Confirm the chart question, units, grouping, and preferred output location.
2. Choose the closest bundled style; if two or more styles fit, ask the user or state the rationale.
3. Read `references/<style_name>.md` for the exact layout, color, and rcParams expectations.
4. Copy `scripts/<script>.py` into a quest-local figure workspace such as `paper/figures/scripts/<figure_id>.py`.
5. Replace only the clearly marked data and label section in the copied script; keep the bundled template immutable.
6. Run the copied script and inspect the rendered output.
7. If the figure is durable or paper-facing, hand the result to `figure-polish` before treating it as final.Each template script keeps the editable data block near the top, usually as np.array(...) declarations or a small dictionary.
Read the corresponding file in references/ for exact rcParams, colors, font sizes, spine settings, and tick directions before generating:
references/bar_paired_delta.md, references/bar_grouped_hatch.mdreferences/line_confidence_band.md, references/line_training_curve.md, references/line_loss_with_inset.mdreferences/scatter_tsne_cluster.md, references/scatter_broken_axis.mdreferences/radar_dual_series.mdpaper-plot for first-pass figure generation from structured data, especially for standard bar, line, scatter, and radar figure families.figure-polish for final render-inspect-revise work on durable milestone or paper-facing figures.write, prefer this skill before inventing a new plotting stack for standard bar, line, scatter, or radar figures.b366244
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.