CommunityImagegithub.com

figures — figures gnuplot de qualité publication

Produisez des figures scientifiques 2D de qualité publication avec gnuplot à partir de données de simulation ou de colonnes. Idéal pour créer, tracer ou afficher une figure/graphique pour un article, une présentation, une thèse ou un poster — en particulier les tracés de magnétisme comme les cycles d'hystérésis (M vs H), l'aimantation en fonction de la température (M vs T) et les séries temporelles (M vs t), avec choix de palette, style de revue/présentation, étiquettes d'axes et unités, et ajustement de courbes.

Qu'est-ce que figures — figures gnuplot de qualité publication ?

Ce skill permet de transformer une requête en langage naturel accompagnée de fichiers de données en une figure PDF prête à publier, dans le style maison du groupe. Il prend en charge les types de figures de magnétisme courants (cycles d'hystérésis M(H), aimantation en fonction de la température M(T), séries temporelles M(t)), des schémas de couleurs sélectionnables (bluegold, viridis, magma, plasma, cividis, turbo, skyrmion, etc.) et le style revue ou présentation. Le skill repose sur gnuplot v6+ avec le backend pdfcairo pour la génération directe de PDF vectoriels de haute qualité, et utilise la variable d'environnement GNUPLOT_LIB pour charger les fichiers de style et de couleur de manière portable. Le flux de travail consiste à identifier le type de figure, inspecter les données, copier et adapter un script exemple canonique, choisir le style et la palette, rendre le PDF, le vérifier visuellement avec pdftoppm, et fournir le script .gpl et le PDF final. Il est conçu pour Claude (Code, App) et tout agent capable d'exécuter gnuplot et de gérer des fichiers de données en colonnes.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/richard-evans/research-skills/tree/HEAD/figures

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

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 via pdfcairo.
  • 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

  1. 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.
  2. 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és output: 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é.
  3. Copiez l'exemple correspondant depuis examples/<type>/ comme point de départ et adaptez : noms de fichiers de données, colonnes using, étiquettes d'axes + unités, limites d'axes (5 % au-delà du premier et dernier repère majeur à chaque extrémité, via padlo/padhi ou lpadlo/lpadhi du fichier journal, voir references/conventions.md), légendes, et tout ajustement.
  4. 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 load en haut du script.
  5. Générez avec GNUPLOT_LIB définie, produisant un PDF.
  6. Regardez la sortie : convertissez avec pdftoppm -png -r 150 out.pdf preview et 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.
  7. Remettez le script .gpl et 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/)

FichierUtilisation
nature.journalDéfaut. Largeur monocollone (86 mm) pour un journal à deux colonnes ; fond clair, Helvetica.
inverted.journalFond gris foncé, premier plan clair — diapositives/web sombres.
presentation.journalAvenir Next, grand canevas — diapositives de présentation projetée.
presentation-dark.journalStyle 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 avec make_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.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés