Que fait figures — figures gnuplot de qualité publication ?
Transformez une demande en langage naturel accompagnée d'un ou plusieurs fichiers de données en une figure PDF prête à publier, dans le style maison du groupe. Prend en charge les types de figures de magnétisme courants, les schémas de couleurs sélectionnables et le style revue ou présentation.
Prérequis
gnuplot(v6+) — le moteur de tracé. Génère du PDF directement viapdfcairo.pdftoppm(poppler) — convertit le PDF de sortie en PNG pour visualiser la figure et itérer. Vérifiez toujours visuellement le résultat.
Comment les styles/couleurs sont chargés — GNUPLOT_LIB (important)
Les scripts chargent les fichiers de style partagés par leur nom simple, par ex. load "nature.journal" et load "bluegold.colour". gnuplot les trouve via le chemin de recherche GNUPLOT_LIB. Exécutez toujours gnuplot avec GNUPLOT_LIB pointant vers les répertoires styles/ et colours/ de ce skill :
SKILL_DIR ci-dessous est le chemin absolu du répertoire de ce skill (celui contenant ce SKILL.md, par ex. ~/.claude/skills/figures en installation personnelle, ou le chemin du dépôt en développement). Remplacez par le chemin réel :
SKILL_DIR="/chemin/absolu/vers/figures" # répertoire contenant ce SKILL.md
export GNUPLOT_LIB="$SKILL_DIR/styles:$SKILL_DIR/colours"
gnuplot mafigure.gpl # exécutez depuis le répertoire contenant les données
Garder les chemins hors des scripts rend un script portable, et une modification d'un fichier de style se propage à toutes les figures qui le chargent.
Flux de travail
- Identifiez le type de figure à partir de la demande (voir
references/figure-types.md) : hystérésis M(H), aimantation M(T), série temporelle M(t), ou autre. Chaque type a un script d'exemple canonique à copier. - Inspectez les données. Regardez le fichier : supprimez les lignes de commentaire (
#), comptez les colonnes, vérifiez les plages. Associez les colonnes x et y. Les fichiers de sortie VAMPIRE sont des colonnes séparées par des espaces avec des en-têtes de commentaire#; si un fichier d'entrée VAMPIRE est présent avec les données, ses mots-clésoutput:définissent l'ordre des colonnes — lisez-le pour étiqueter les colonnes correctement. Sinon, traitez les données comme des colonnes génériques et confirmez la correspondance avec l'utilisateur si ambiguïté. - Copiez l'exemple correspondant depuis
examples/<type>/comme point de départ et adaptez : noms de fichiers de données, colonnesusing, étiquettes d'axes + unités, limites d'axes (5 % au-delà du premier et dernier repère majeur à chaque extrémité, viapadlo/padhioulpadlo/lpadhidu fichier journal, voirreferences/conventions.md), légendes, et tout ajustement. - Choisissez le style et le schéma de couleurs (valeurs par défaut ci-dessous ; respectez toute demande explicite). Définissez-les via les deux lignes
loaden haut du script. - Générez avec
GNUPLOT_LIBdéfinie, produisant un PDF. - Regardez la sortie : convertissez avec
pdftoppm -png -r 150 out.pdf previewet lisez le PNG. Vérifiez les étiquettes tronquées, le chevauchement des légendes, la densité des graduations, le contraste des couleurs. Itérez sur le script jusqu'à ce qu'il soit propre. - Remettez le script
.gplet le PDF. La figure doit être reproductible à partir du script et des données seuls.
Valeurs par défaut
- Style :
nature.journal(86 mm monocollone, Helvetica, prêt pour l'impression). - Schéma de couleurs :
bluegold.colour(défaut maison). - Sortie : PDF via
pdfcairo, direct — jamais le pipeline EPS→PDF.
Styles (styles/)
| Fichier | Utilisation |
|---|---|
nature.journal | Défaut. Largeur monocollone (86 mm) pour un journal à deux colonnes ; fond clair, Helvetica. |
inverted.journal | Fond gris foncé, premier plan clair — diapositives/web sombres. |
presentation.journal | Avenir Next, grand canevas — diapositives de présentation projetée. |
presentation-dark.journal | Style présentation sur fond sombre. |
Schémas de couleurs (colours/)
Défaut : bluegold, utilisé sauf si un autre schéma est demandé. Séquentiels/perceptifs (familles matplotlib et MATLAB) : viridis, magma, inferno, plasma, cividis (adapté aux daltoniens), parula. Divergents : bluegold, skyrmion (bleu marine → blanc → rouge, pour les grandeurs signées telles que s_z), RdYlBu. Monochrome : purple. Arc-en-ciel : turbo (amélioré), jet (déconseillé — non uniforme perceptivement). Chacun définit des styles de ligne discrets ls 1–ls 8 ainsi qu'une palette continue pm3d. Voir references/colour-schemes.md pour savoir quand utiliser chacun et l'association clair/sombre.
Types de figures & exemples
Les scripts canoniques, annotés et exécutables se trouvent dans examples/ :
examples/mvsH/MH.gpl— cycle d'hystérésis M(H), guides d'axe zéro.examples/mvsT/mvsT.gpl— aimantation M(T) avec ajustement Curie–Bloch.examples/mvstime/mvstime.gpl— série temporelle de désaimantation multi-courbes (données synthétiques, régénérer avecmake_data.py).examples/anisotropy-surface/3D.gpl— surface d'énergie 3D : couleur raster + axes vectoriels composés dans gnuplot (petits PDF rapides ; aucun outil externe).
Références
references/conventions.md— les règles maison pour les figures (étiquettes, unités, graduations, légendes, ajustements, syntaxe de texte enrichi).references/figure-types.md— recette par type et correspondance des colonnes.references/colour-schemes.md— catalogue des schémas et guide de sélection.