Notre avis
Génère des figures de publication pour l'analyse topologique de données (TDA) en utilisant des conventions de style prédéfinies.
Points forts
- Respecte les conventions de style de la base de code
- Produit des figures prêtes pour publication
- Utilise des constantes de taille et de couleur standardisées
Limites
- Nécessite la connaissance de la base de code trajectory_tda
- Ne fonctionne que pour les types de figures spécifiés
- Les figures de travail ne doivent pas être sauvegardées dans les dossiers de production
Utilisez cette compétence lorsque vous devez créer des figures TDA cohérentes avec le style de publication du projet.
Ne l'utilisez pas pour des visualisations exploratoires rapides ou des figures ne respectant pas les conventions du projet.
Analyse de sécurité
SûrThe skill provides declarative instructions for generating figure code; it does not declare any executable tools, so there is no risk of destructive actions or data exfiltration.
Aucun point d'attention détecté
Exemples
/tda-figure-spec persistence-diagram P01-B/tda-figure-spec null-histogram P01-A/tda-figure-spec barcode 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_COLORSdict — nevertab10or default cycle - Observations:
#2d6a2e(green); Null:steelblue; Dim 0: green; Dim 1:#1a237e - Regimes:
plt.cm.tab10withREGIME_LABELSorder - Sequential/diverging:
viridis,plasma,RdBu_r— neverjet
Annotation standards
- p-values: write
p=0.003, notp<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.
Ingénierie de Prompts
Data & IA
Bonnes pratiques et templates de prompt engineering pour maximiser les résultats IA.
Visualisation de Données
Data & IA
Génère des visualisations de données et graphiques adaptés à vos données.
Architecture RAG
Data & IA
Guide de configuration d'architectures RAG (Retrieval-Augmented Generation).