Radiology Publication Figures
Use this skill to build figures that pass Radiology's technical and editorial bar: correct file format and resolution, legible typography, color-blind-safe palettes, honest axes, and the specific chart types imaging-AI reviewers expect (ROC, calibration, decision-curve, forest/SROC, Kaplan-Meier, Bland-Altman), plus de-identified annotated imaging panels.
Core stance
- Vector first. Primary output is editable
.svg(or.pdf); secondary is a ≥ 300 dpi raster (TIFF/PNG). Keep text as text (svg.fonttype='none'), not outlines, so editors can re-typeset. - One figure, one message. Each panel answers one question; no two panels duplicate it. Panels are labelled A, B, C (Radiology-family) or a, b, c (Nature-family — the case is venue-dependent, never mixed within one manuscript; see "When to open extra files").
- Honest graphics. Axes start where the data demand (don't truncate to exaggerate); show uncertainty (CI bands, error bars); state n.
- De-identify every image. No PHI burned into pixels, no faces/identifiers; scrub DICOM overlays; report windowing (WL/WW) and add a scale bar where size matters.
- Match the journal. Sans-serif (Arial/Helvetica), figure width to column — Radiology-family single ~85 mm / double ~170 mm, or Nature-family single 89 mm / double 183 mm (max height 170 mm) — adequate font size at final print size (≈ 7–9 pt min). Confirm the target venue before sizing the first figure.
- Never fabricate data. Plot only supplied/loaded values; mark simulated/example data clearly.
When to use
- Statistical figures: ROC (+ DeLong annotation), calibration, decision-curve, forest, SROC, Kaplan-Meier (with numbers-at-risk), Bland-Altman, box/violin, heatmaps/clustermaps.
- Radiogenomics: MOFA/factor plots, deconvolution stacked bars, habitat maps, correlation heatmaps.
- Imaging panels: multi-row montages, before/after, arrows/insets, windowing labels, scale bars.
- Flow diagrams: CONSORT / STARD / PRISMA patient-selection diagrams.
When to open extra files
| File | Open when |
|---|---|
| references/radiology-figure-guidelines.md | File format, resolution, size, fonts, color, panel labelling, de-identification rules |
| references/chart-types.md | Choosing/parameterising the right statistical chart (ROC, calibration, DCA, forest, KM, Bland-Altman, heatmap) |
| references/imaging-panels.md | Building montages: windowing, arrows, insets, scale bars, anonymisation, panel layout |
| references/api.md | The matplotlib rcParams preamble, color palette, and reusable helper functions (ROC/calibration/forest/KM) |
| references/design-theory.md | Typography, layout grid, color-blind-safe palettes, anti-redundancy, accessibility |
| references/color-systems.md | Picking ONE palette (Okabe-Ito / NPG / Morandi) and mapping color→meaning so every figure matches |
| references/survival-figures.md | Kaplan-Meier integrity (curve ↔ numbers-at-risk ↔ censoring), numbers-at-risk done right, time-dependent (IPCW) ROC/calibration/DCA, incremental-value framing |
| references/figure-set-consistency.md | Unifying palette/fonts/axes across all figures, and cross-validating every figure number against the manuscript tables and data before export |
| references/nature-figure-spec.md | Target is a Nature-portfolio venue instead of Radiology — column widths (89/183 mm), lowercase panel letters, RGB, legend word cap, Extended Data/Source Data display-item split |
| references/figure-intent-and-render-qa.md | Full figure set planning, crowded/colliding labels, DCA/KM/heatmap layout problems, final-size render review, source-data crosswalk, or premium academic visual polish |
| references/journal-family-visual-style.md | Target journal family is known, the user supplied author-guide PDFs/classic articles, or the figure set needs Nature/npj or European Radiology visual taste |
Workflow
- Confirm the target venue (Radiology-family default, or Nature-family → nature-figure-spec.md) before sizing the first figure — column widths and panel-letter case differ and are painful to change after the set is built.
- For venue-specific visual taste, open
journal-family-visual-style.mdand apply the target family's panel lettering, legend density, graphical abstract, table, and source-data conventions. - For full figure sets or layout-sensitive figures, open
figure-intent-and-render-qa.mdand create the figure intent table plus source-data crosswalk before drawing. - Pick the chart for the message (chart-types.md). Discrimination → ROC; reliability → calibration; clinical value → decision-curve; agreement → Bland-Altman; time-to-event → Kaplan-Meier; meta-analysis → forest/SROC; whole-study summary → graphical abstract.
- Start the script with the rcParams preamble and palette from api.md.
- Build the panel(s) with helper functions; add CI bands, n, and clear axis labels with
units; label panels via
panel_letter()/add_panel_letter()(api.md) with the case set for the confirmed venue — never hardcodechr(65+i)per script. - For imaging panels, confirm de-identification, add windowing labels + scale bar + arrows; keep grayscale unless color encodes data.
- Export
.svg(text-as-text) and a 300–600 dpi raster; check legibility at final print width. - QA (see contract) and inspect the final render for overlap/clipping before returning.
Output contract
Figure plan— what each panel shows and why; the chart type chosen.Figure intent / source-data crosswalk— for full figure sets or submission figures, show what claim each panel supports and where the data came from.Script— a single runnable.pystarting with the rcParams preamble; data inputs clearly marked (real vs example).Files—figure.svg(primary) +figure.png/.tiffat ≥ 300 dpi.QA notes— fonts embedded as text, color-blind check, axis honesty, n shown, de-identification confirmed for any image panel, final-size render checked for no overlap/clipping, and venue-family visual style checked when applicable.
QA checklist (run before returning)
- rcParams preamble present; output is
.svgwithsvg.fonttype='none'and a ≥ 300 dpi raster. - Every axis labelled with units; legend present; panels labelled A/B/C or a/b/c per the confirmed venue, consistently across the whole figure set.
- Uncertainty shown (CI band/error bars) and n stated.
- Color-blind-safe; not reliant on red/green alone; sufficient contrast.
- Imaging panels de-identified; windowing + scale bar present where relevant.
- No invented data points; example data flagged.
- Final exported render inspected at target size; no label/tick/legend/number overlap, clipping, or text crossing plot elements.
- Venue-family rules satisfied when applicable (panel-letter case, background, legend length, graphical abstract blocks, Source Data/table expectations).
Handoffs
- The statistic behind the plot (AUC CI, DeLong, ICC, calibration metrics, net benefit) →
radiology-stats. - Whether the figure satisfies a checklist item (flow diagram for STARD/CONSORT), or the
Reporting Summary/Nature Portfolio checklist →
radiology-reporting. - Figure legends/captions prose, display-item plan (main vs Extended Data) →
radiology-writing. - Source Data files, Extended Data vs Supplementary Information wording →
radiology-data. - Full figure set finished and ready for a harsh read before submission →
radiology-prereview.