English static mirror for SEO/GEO · AI-assisted translation · Read Chinese original

Paper-Plot-Skills: Generate Publication-Ready Figures with AI Instead of Matplotlib Tweaking

Forum topic · 小凯 · 2026-07-05

Summary

Paper-Plot-Skills is an open-source AI Skill toolkit by Trae1ounG (CUHK Shenzhen) that turns publication-quality figure styling into one-prompt calls. Instead of teaching matplotlib parameter tuning, it distills visual conventions from nine real top-tier ML/AI papers (MemEvolve, SPICE, Self-Distillation, DAPO, SiameseNorm, MemGen, Meta-Harness, DoRA) into reusable style templates such as bar_paired_delta, bar_grouped_hatch, line_training_curve, and radar_dual_series. The toolkit ships with two modes: plot-from-data, where the AI injects style parameters from markdown specs into a matplotlib template at 300 dpi, and plot-from-image, where users upload a screenshot and receive a reproducible Python script. The article explains why serif vs sans-serif fonts, L-shaped vs four-sided spines, low-saturation palettes, and 300 dpi matter for journal submissions, and lists best-fit style choices per scenario including ablation studies, training curves, t-SNE clusters, and multi-metric comparisons. Hosted at github.com/Trae1ounG/paper-plot-skills.

Paper-Plot-Skills: Generate Publication-Ready Figures with AI Instead of Matplotlib Tweaking

> GitHub: https://github.com/Trae1ounG/paper-plot-skills > Author: Trae1ounG (CUHK Shenzhen) > Focus: AI Skill toolbox for paper-figure reproduction and generation

---

1. The Pain Every Researcher Knows

You have a strong experiment result. Now you need a bar chart comparing your method against baselines.

You open matplotlib, write 50 lines, and get:

  • Default blue, no visual differentiation
  • System default sans-serif font, out of place in a paper
  • Bars either too wide or too narrow
  • No error bars, no significance markers, no legend
  • PNG export with white margins, low dpi, blurry when zoomed
  • After two hours of tuning and ten StackOverflow searches, the figure looks acceptable — but still a tier below the figures in neighboring groups.

    The real issue is not the data; it is that paper figures are visual storytelling. Font, palette, spacing, annotations, and layout all shape reviewer first impressions.

    Paper-Plot-Skills addresses this by packaging "top-conference figure aesthetics" as an AI Skill you invoke with one sentence.

    ---

    2. Core Design: Style Parameters Distilled from 9 Real Papers

    The project's central insight is that top-tier paper figures share a highly consistent style that can be systematically extracted.

    Trae1ounG selected nine reference figures and performed two operations:

    2.1 Style Decomposition: Each Figure Becomes a Parameter System

    Example — bar chart from the MemEvolve paper:

    | Dimension | Parameter | |---------|---------| | Font | serif (Times New Roman style), classic for papers | | Layout | Paired bars — baseline and method side by side | | Annotation | Gain arrow + percentage for intuitive improvement | | Y-axis | Independent scales per subplot, no forced alignment | | Palette | Low-saturation contrast, no flashy tones |

    Example — training curve from the DAPO paper:

    | Dimension | Parameter | |---------|---------| | Font | sans-serif, modern and clean | | Reference lines | Horizontal dashed lines marking thresholds | | Break lines | Vertical dashed lines marking training events | | Spine | Four-sided frame with outward ticks, professional look | | Legend | Placed outside, does not overlap curves |

    These parameters are stored as .md files (bar_paired_delta.md, line_training_curve.md, etc.) paired with matplotlib script templates.

    2.2 Two Usage Modes

    Mode 1: plot-from-data — "Render my data in this style"

    You say: "Use bar_grouped_hatch style for my data."

    The AI: 1. Reads bar_grouped_hatch.md style spec 2. Reads your data (CSV / JSON / inline) 3. Fills the template and exports at dpi=300

    Mode 2: plot-from-image — "Reproduce this figure"

    You upload a paper screenshot. The AI: 1. Analyzes aspect ratio, font, palette, and layout 2. Infers matplotlib parameters 3. Emits a reproducible Python script

    ---

    3. Nine Preset Styles Covering ~80% of Paper Scenarios

    | Style name | Type | Source paper | Key traits | |-------|------|---------|---------| | bar_paired_delta | Bar chart | MemEvolve | Paired bars + gain arrow, serif font | | bar_grouped_hatch | Bar chart | SPICE | Grouped bars + hatch on main method, value labels on top | | line_confidence_band | Line plot | Self-Distillation | EMA smoothing + confidence band, LaTeX font | | line_training_curve | Line plot | DAPO | Vertical breakpoints + horizontal refs, sans-serif | | line_loss_with_inset | Line plot | SiameseNorm | L-shape spine + axis-end arrows + right-side zoom inset | | scatter_tsne_cluster | Scatter | MemGen | t-SNE clusters + rounded color annotation boxes, dotted grid | | scatter_broken_axis | Scatter | Meta-Harness | Broken X-axis dual panel, multiple marker types | | radar_dual_series | Radar | DoRA | Octagonal dashed concentric grid, dual-method comparison |

    Coverage:

  • Bar: main comparisons, ablation studies
  • Line: training curves, parameter sweeps, scaling laws
  • Scatter: t-SNE/UMAP visualizations, distribution comparisons
  • Radar: multi-dimensional method comparisons (accuracy, speed, memory, generalization)
  • ---

    4. Why These Style Parameters Matter

    4.1 Font: Serif vs Sans-Serif Is Convention, Not Taste

  • Serif (Times New Roman style): traditional, formal, academic. Common in classic CV/ML venues (e.g., ICCV, early NeurIPS).
  • Sans-serif (Arial / Helvetica): modern, clean, screen-friendly. Preferred by newer venues and systems tracks.
  • LaTeX Computer Modern: best when figures and LaTeX body share typography.
  • Each Paper-Plot-Skills style inherits its source paper's font choice.

    4.2 Spine Design: L-shape vs Four-sided Frame Reflects Information Density

    | Spine | Use case | Implication | |-----------|---------|---------| | Four-sided | Line plots requiring precise reads | Rigorous, engineering-oriented | | L-shape (left + bottom) | Trend-emphasizing curves | Minimal, modern | | Frameless (axis only) | Minimalist visualization | High-end, designed | | Open frame | Grouped comparisons | Open, comparative |

    line_loss_with_inset uses L-shape + axis-end arrows; bar_grouped_hatch uses an open frame — both intentional.

    4.3 Palette: Differentiable, Print-Safe, Colorblind-Safe

    Academic color schemes have implicit constraints:

  • Print-friendly: many papers get printed in grayscale
  • Colorblind-friendly: red-green colorblindness affects ~8% of males
  • Differentiable: 3–5 series in one figure must be instantly distinguishable
  • Subordinate: figures support data, not steal attention
  • The palettes are extracted from real papers, so they already meet these constraints.

    4.4 dpi=300 Is Not Arbitrary

  • Most journals require 300 dpi (print quality)
  • Some require 600 dpi (line art)
  • Web display only needs 72–150 dpi
  • Default 300 dpi satisfies most venues without Photoshop upscaling.

    ---

    5. plot-from-image: From Screenshot to Script

    The flow:

    1. Input: a paper screenshot (phone capture of a screen, or a PDF crop) 2. Analysis: AI identifies elements — bar count, line count, colors, fonts, layout 3. Inference: translate visual features into matplotlib parameters 4. Output: a .py script that reproduces the original

    A real case — classwise_iou:

  • User uploaded a paper screenshot (issue #1)
  • AI detected a table layout with two-row results and a highlight background
  • Generated: plot-from-image/scripts/classwise_iou_table.py
  • The reproduction matches the original closely
  • Why this matters:

  • See a figure you like in someone else's paper → reproduce the style without manual tuning
  • If a reviewer claims your figure looks too similar to a prior paper → show your reproducible script to demonstrate independent implementation
  • Your advisor says "follow the top-conference style" → drop a screenshot into the AI
  • ---

    6. Feynman Perspective

    Q1: How is this different from a plain matplotlib template?

    Templates like seaborn's paper context only set baseline values (font size, line width, color cycle). Real paper aesthetics go further:

  • Paired bars + gain arrows (MemEvolve style): not in any default template
  • L-shape spine + axis-end arrows + right inset (SiameseNorm style): requires manual multi-parameter tuning
  • Broken X-axis + multiple marker types (Meta-Harness style): matplotlib's broken axis is already advanced usage
  • The value proposition is encapsulating advanced matplotlib tricks as one-line Skills — packaging aesthetic judgment, not just preset parameters.

    Q2: What role does AI play?

    In plot-from-data: parameter injection + template rendering.

  • You name a style, AI reads the .md spec
  • You supply data, AI fills the template
  • Output is standard matplotlib code, not a black box
  • In plot-from-image: visual analysis + parameter inference.

  • Identify visual elements (bars, colors, fonts)
  • Map them to matplotlib parameters
  • Emit a reproducible script
  • In both modes, AI is an assistant, not a replacement. You still need to understand your data, choose the style, and judge whether the output fits.

    Q3: Where is the ceiling?

    1. Style coverage: 9 styles cover ~80% of cases; specialized charts (manifold visualization, network graphs, heatmaps) remain uncovered. 2. Domain scope: styles come from ML/AI papers; biomedical, physics, and chemistry follow different conventions (e.g., error-bar conventions in bio, log-log axes in physics). 3. Interactivity: modern publishing accepts interactive HTML figures; the toolkit currently outputs static matplotlib only. 4. Non-matplotlib ecosystem: some domains rely on ggplot2 (R), Plotly, or TikZ. The toolkit is currently matplotlib-only.

    Q4: The Most Valuable Takeaway Is the Methodology

    The richest part of this project is not the nine scripts but Trae1ounG's framework for figure decomposition:

  • Font type and size
  • Spine style and tick direction
  • Palette strategy
  • Annotation (arrows, value labels, legend placement)
  • Layout (single, multi-subplot, inset)
  • This methodology transfers to any visualization tool. Even without using Paper-Plot-Skills, you will see your own figures with a more professional eye.

    ---

    7. Recommended Usage by Scenario

    | Scenario | Recommended mode + style | Why | |------|---------|---------| | Have experimental data, need a comparison chart | plot-from-data + bar_paired_delta | Most common; immediate visual payoff | | Saw a paper figure you love | plot-from-image | Upload screenshot, automated analysis | | t-SNE visualization for a paper | plot-from-data + scatter_tsne_cluster | Professional cluster annotations, no manual tuning | | Ablation study, 5 methods | plot-from-data + bar_grouped_hatch | Grouped bars + hatch fill, clear distinction | | Training curve needing convergence display | plot-from-data + line_confidence_band | EMA smoothing + confidence band, polished look | | Multi-dimensional method comparison (e.g., A/B test) | plot-from-data + radar_dual_series | Radar with 8 dimensions at a glance |

    ---

    8. One-Sentence Summary

    > Paper-Plot-Skills' core insight: paper-figure quality is driven by aesthetic parameters, not by data alone. Nine styles distilled from real top-conference papers turn matplotlib's "tuning hell" into "one-prompt output." plot-from-image further compresses the "see a good figure → reproduce its style" loop from hours to minutes. For researchers, time belongs to experiments, not to color tweaking.

    ---

    References

  • Trae1ounG (2026). Paper-Plot-Skills. https://github.com/Trae1ounG/paper-plot-skills
  • Source papers for preset styles: MemEvolve, SPICE, Self-Distillation, DAPO, SiameseNorm, MemGen, Meta-Harness, DoRA

Tags

#paper-plot-skills#matplotlib#data-visualization#scientific-figures#ai-skill#publication-ready#research-workflow#open-source

This page is an English static mirror generated for search and AI citation. It may be a full translation or structured summary of the Chinese original. Canonical interactive discussion lives on the Chinese page: https://zhichai.net/topic/178208437