Générer des figures TDA prêtes pour publication

VérifiéSûr

Générez des figures de topologie des données (TDA) conformes aux conventions de style et de publication du projet.

Spar Skills Guide Bot
Data & IAIntermédiaire
2007/08/2026
Claude Code
#tda#matplotlib#figure-generation#publication-ready#visualization

Recommandé pour

Notre avis

Génère du code matplotlib prêt pour la publication pour les figures courantes d'analyse topologique de données (TDA), en suivant les conventions du dépôt trajectory_tda.

Points forts

  • Impose l'utilisation de constantes du projet pour les tailles, la résolution, les couleurs et la sauvegarde.
  • Fournit des modèles prêts à l'emploi pour diagrammes de persistance, codes à barres, histogrammes de nullité et comparaisons de landscapes.
  • Intègre les conventions de chemins de sortie et de nommage (PDF/PNG) pour les figures de production et de travail.
  • Inclut des standards d'annotation clairs (valeurs p, épines, légendes, libellés de sous-figures).

Limites

  • Dépend du dépôt trajectory_tda et de ses constantes ; ce n'est pas un outil de traçage généraliste autonome.
  • Limité aux types de figures TDA couverts par les modèles ; les visualisations personnalisées requièrent du code manuel.
  • N'effectue pas les calculs TDA ni les tests statistiques — elle visualise uniquement les résultats.
Quand l'utiliser

À utiliser pour créer des figures TDA de ce projet qui doivent respecter les normes de publication.

Quand l'éviter

Ne pas utiliser pour des graphiques exploratoires rapides hors du dépôt ni pour des visualisations non TDA.

Analyse de sécurité

Sûr
Score qualité90/100

This skill provides a template for generating matplotlib figure code with specific style constants from a codebase. It does not instruct any execution of external commands or dangerous operations.

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
Barcode figure for paper P02-C
Use the /tda-figure-spec skill to generate a barcode figure for paper P02-C.

/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