Use whenever generating figures or tables for a research paper — enforces publication-quality visual standards including style consistency, readability, accessibility, and venue-appropriate formatting
설치
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Use whenever generating figures or tables for a research paper — enforces publication-quality visual standards including style consistency, readability, accessibility, and venue-appropriate formatting
Figure & Table Quality Standards
Overview
Figures are the first thing reviewers look at. A sloppy figure signals sloppy science. This skill defines mandatory quality standards for every figure and table produced during Phase 4 (experiment execution) and Phase 5 (results integration), and enforced again during Phase 6 (paper writing).
Invoke this skill before generating any figure intended for a paper.
Universal Figure Standards
Resolution and Format
Property
Requirement
Format
Vector (PDF or SVG) for plots; PNG at ≥300 DPI only for raster images (photos, heatmaps)
Minimum DPI
300 for raster, vector preferred for all line/bar/scatter plots
File format for LaTeX
PDF (first choice) or EPS; avoid PNG/JPG for plots
Size
Match column width of target venue (typically 3.25" single column, 6.875" double column for IEEE/ACM)
Typography
Property
Requirement
Font family
Match venue profile (see Venue-Specific Styles below) — sans-serif for CNS, serif for CS/IEEE
Axis label size
≥ 8pt after scaling to final print size
Tick label size
≥ 7pt after scaling
Legend text size
≥ 7pt after scaling
Figure title
OMIT — do NOT put a title on the figure. The LaTeX \caption{} serves as the title.
Panel labels
Bold lowercase for CNS-style (a, b, c); uppercase for CS/IEEE (A, B, C) — see venue profile
Test: After generating a figure, mentally scale it to its final column width. If any text becomes unreadable at that size, increase the font.
Color
Property
Requirement
Color palette
Match venue profile — Nature palette for CNS, Tableau 10 for CS, see below
Consistency
ALL figures in the same paper must use the SAME color → method mapping
Grayscale fallback
Figures must be distinguishable in grayscale (some venues print in B&W). Use markers/hatching in addition to color
Maximum colors
≤ 8 distinct colors per figure; beyond that, use subplots
Layout and Readability
Property
Requirement
Axis labels
Present on every axis; include units (e.g., "Accuracy (%)", "Time (s)")
Grid lines
Depends on venue profile: subtle for CS, often absent for CNS
Legend placement
Inside the plot area if space allows, otherwise outside. Never overlap data points.
White space
Tight layout (bbox_inches='tight' in matplotlib); no excessive margins
Aspect ratio
Standard ratios (4:3, 16:9, 1:1). Never stretched or squished.
Subplot spacing
Consistent spacing; shared axes where appropriate to save space
What Goes ON the Figure vs. IN LaTeX
Figures and captions are SEPARATE things. The figure is an image file (PDF/SVG). The caption is LaTeX text in `\caption{}`. Do NOT confuse them.
ON the figure (in the image file itself):
Axis labels with units
Tick labels
Legend (if multiple series)
Panel labels (a, b, c — positioned top-left of each subplot)
Annotations (arrows, text callouts if needed)
NO figure title (the caption replaces it)
NO caption text
IN LaTeX \caption{}:
What the figure shows (one sentence)
Key takeaway / main observation
Per-panel descriptions for multi-panel figures: "(a) Method comparison on Dataset X. (b) Ablation study..."
Define abbreviations not defined in main text
Statistical details if relevant ("Error bars indicate ± 1 std over 5 seeds")
Must be self-contained: reader should understand the figure from caption alone
LaTeX pattern:
\begin{figure}[t]
\centering
\includegraphics[width=\columnwidth]{figures/main_comparison.pdf}
\caption{Comparison of methods on three benchmarks.
(\textbf{a}) Accuracy on Dataset X. Our method (blue) outperforms all baselines.
(\textbf{b}) Training efficiency. Our method converges 2$\times$ faster.
Error bars indicate $\pm$ 1 std over 5 random seeds.}
\label{fig:main}
\end{figure}
Venue-Specific Figure Styles
Read target_venue from research-anchor.yaml and select the matching profile. If unsure which profile to use, ask the user.
Profile: CNS (Nature, Science, Cell and their sub-journals)
Nature/Science/Cell have a distinctive, recognizable figure aesthetic. Matching it signals professionalism.
If venue is unclear or not listed, ask user: "Which figure style matches your target venue? (1) CNS/Nature style (2) CS conference style (3) IEEE style (4) Other — please describe"
Write the selected profile to src/plot_style.py and use it for ALL figures
Figure Type Selection Guide
Data type
Recommended figure
Avoid
Method A vs B vs C on multiple datasets
Grouped bar chart or table
Pie chart
Performance vs hyperparameter
Line plot with error bands
Scatter without connection
Ablation (component contribution)
Grouped bar chart or stacked bar
Line plot (components aren't ordered)
Training dynamics
Line plot (x: epoch, y: metric) with shaded std
Bar chart
Feature importance / attention
Heatmap with annotated values
3D plots
Distribution comparison
Violin plot or box plot
Overlapping histograms
Embedding visualization
t-SNE/UMAP scatter with class colors
PCA (usually uninformative for high-dim)
Qualitative examples
Grid of input→output pairs
Random cherry-picked singles
Architecture diagram
Clean schematic (tikz, draw.io, or programmatic)
Hand-drawn or overly complex
Confusion matrix
Annotated heatmap with numbers in cells
Plain matrix without annotations
Style Template
At project start, create src/plot_style.py based on the selected venue profile. This file is imported by every plotting script.
import matplotlib.pyplot as plt
import matplotlib as mpl
# ──────────────────────────────────────────────# SELECT ONE profile based on target venue.# See Venue-Specific Figure Styles section above.# Copy the matching STYLE dict and COLORS list here.# ──────────────────────────────────────────────# Example: CS conference profile (NeurIPS, ICML, etc.)
STYLE_CONFIG = CS_STYLE # Replace with CNS_STYLE, IEEE_STYLE, etc.
COLORS = CS_COLORS # Replace with NATURE_COLORS, etc.
mpl.rcParams.update(STYLE_CONFIG)
Save as src/plot_style.py and import in every plotting script. This ensures ALL figures have consistent, venue-appropriate style.
Method-Color Mapping
At the start of the project, define a global color mapping and use it everywhere: