Spécification figures TDA - Publication

VérifiéSûr

Génère du code matplotlib pour figures TDA selon les conventions du projet. Utilise des constantes prédéfinies pour tailles, couleurs, et sauvegarde en PDF/PNG.

Spar Skills Guide Bot
Data & IAIntermédiaire
0025/07/2026
Claude Code
#tda#matplotlib#publication-figures#topological-data-analysis#data-visualization

Recommandé pour

Notre avis

Génère du code matplotlib pour des figures de qualité publication en analyse topologique des données (TDA) en respectant les conventions d’une base de code spécifique.

Points forts

  • Utilise des constantes partagées (taille, couleurs, rcParams) pour une cohérence visuelle.
  • Génère automatiquement les fichiers PDF et PNG avec la résolution appropriée.
  • Propose des gabarits spécialisés pour diagrammes de persistance, barcodes, histogrammes nuls et paysages.
  • Sépare clairement les figures de production des figures de travail.

Limites

  • Nécessite que la bibliothèque `trajectory_tda` soit installée et configurée.
  • Ne produit que du code squelettique, pas une figure finalisée automatiquement.
  • Les annotations (p-values, légendes) suivent des règles strictes qui peuvent ne pas convenir à tous les contextes.
Quand l'utiliser

Quand vous devez produire une figure normalisée pour un article ou une présentation utilisant la base de code `trajectory_tda`.

Quand l'éviter

Si vous travaillez en dehors de cet écosystème ou avez besoin de styles de figures très personnalisés non prévus par les gabarits.

Analyse de sécurité

Sûr
Score qualité92/100

The skill contains only code-generation instructions for matplotlib figures following a style guide. It does not execute any commands, access the network, or perform potentially harmful actions.

Aucun point d'attention détecté

Exemples

Persistence diagram for paper P01-B
/tda-figure-spec persistence-diagram P01-B
Null histogram for paper P01-A
/tda-figure-spec null-histogram P01-A
Interactive figure spec
/tda-figure-spec

/tda-figure-spec — Generate Publication-Ready TDA Figures

Scaffold matplotlib figure code following the established trajectory_tda/viz/ conventions. Uses PUBLICATION_RC, DPI, FIGSIZE_*, STATE_COLORS, and _save_figure from the codebase — never ad-hoc sizes or colours.

Usage

/tda-figure-spec [figure-type] [paper-number]

Example: /tda-figure-spec persistence-diagram P01-B Example: /tda-figure-spec null-histogram P01-A Example: /tda-figure-spec (interactive)


Style constants (always import from trajectory_tda/viz/constants.py)

from trajectory_tda.viz.constants import (
    DPI, FIGSIZE_FULL, FIGSIZE_WIDE, FIGSIZE_HALF, FIGSIZE_SQUARE,
    PUBLICATION_RC, STATE_COLORS, STATES, STATE_LABELS, REGIME_LABELS,
)
import matplotlib.pyplot as plt
plt.rcParams.update(PUBLICATION_RC)

Figure size guide

| Use case | Constant | Size | |---|---|---| | Single full-width plot | FIGSIZE_FULL | 190mm × 120mm | | Wide two-panel | FIGSIZE_WIDE | 190mm × 104mm | | Half-width single panel | FIGSIZE_HALF | 90mm × 120mm | | Square heatmap | FIGSIZE_SQUARE | 90mm × 90mm |

Save function (always use this pattern)

def _save_figure(fig, output_dir: Path, name: str) -> None:
    output_dir.mkdir(parents=True, exist_ok=True)
    fig.savefig(output_dir / f"{name}.pdf", format="pdf")
    fig.savefig(output_dir / f"{name}.png", format="png", dpi=DPI)

Colour rules

  • State space: always STATE_COLORS dict — never tab10 or default cycle
  • Observations: #2d6a2e (green); Null: steelblue; Dim 0: green; Dim 1: #1a237e
  • Regimes: plt.cm.tab10 with REGIME_LABELS order
  • Sequential/diverging: viridis, plasma, RdBu_rnever jet

Annotation standards

  • p-values: write p=0.003, not p<0.01
  • Axes: remove top and right spines; keep bottom and left
  • Legends: frameon=False
  • Subplot labels: ax.text(0.02, 0.97, "(a)", transform=ax.transAxes, ...)

Figure templates available

| Template | When to use | |---|---| | plot_persistence_diagram(diagram, dim, ax) | Scatter birth-death pairs | | plot_barcode(diagram, dim, ax) | Feature lifetimes sorted by persistence | | plot_null_histogram(observed, null_dist, p_value, dim, ax) | Permutation test result | | plot_landscape_comparison(obs, null, grid, ax) | L² landscape distance (mandatory) |


Output paths

| Context | Path | Naming | |---|---|---| | Production paper figure | papers/PXX/figures/ | fig{N}_{desc}.{pdf\|png} | | Supplement | papers/PXX/figures/ | figS{N}_{desc}.{pdf\|png} | | Working / exploratory | figures/{domain}/ | YYYYMMDD_{desc}.png |

Working figures must not be saved to papers/PXX/figures/ — that is for production only.

Skills similaires