Spécification de figures TDA

VérifiéSûr

Créez des figures de publication pour l'analyse topologique des données (TDA) en utilisant matplotlib, avec des conventions de style strictes.

Spar Skills Guide Bot
Data & IAIntermédiaire
1028/07/2026
Claude Code
#tda#matplotlib#visualization#publication#trajectory

Recommandé pour

Notre avis

Génère du code matplotlib prêt pour la publication en suivant les conventions strictes du projet trajectory_tda, incluant constantes de style, tailles de figures normalisées et fonctions de sauvegarde.

Points forts

  • Assure une cohérence visuelle entre toutes les figures d'un même projet
  • Évite les erreurs de style récurrentes en automatisant les choix de couleurs et de tailles
  • Intègre directement les fonctions de sauvegarde en PDF et PNG haute résolution

Limites

  • Nécessite que le projet trajectory_tda soit installé et accessible
  • Les templates sont limités aux types de figures TDA (diagramme de persistance, barcode, histogramme, paysage)
  • Ne fonctionne pas en dehors du contexte Claude Code sans adaptation
Quand l'utiliser

Quand vous produisez des figures de topologie des données (TDA) pour un article académique ou un rapport formel dans le cadre du projet trajectory_tda.

Quand l'éviter

Pour des visualisations exploratoires rapides ou des graphiques ne relevant pas de la TDA (par exemple, des séries temporelles classiques ou des barplots standards).

Analyse de sécurité

Sûr
Score qualité92/100

The skill provides only static guidance for generating matplotlib figure code following established conventions; it contains no destructive commands, network calls, or unauthorized data access.

Aucun point d'attention détecté

Exemples

Persistence diagram
/tda-figure-spec persistence-diagram P01-B
Null histogram
/tda-figure-spec null-histogram P01-A
Interactive choice
/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