CommunityImagengithub.com

richard-evans/figures

Genera figuras científicas 2D de calidad de publicación con gnuplot a partir de datos de simulación o columnas. Útil para crear gráficos para artículos, presentaciones, tesis o pósters, especialmente de magnetismo (lazos de histéresis, M vs T, series temporales), incluyendo selección de esquemas de color, estilos de revista/presentación, etiquetas de ejes y ajuste de curvas.

¿Qué es figures?

Este skill, `figures`, convierte solicitudes en lenguaje natural y archivos de datos en figuras PDF listas para publicar, utilizando gnuplot. Está especializado en gráficos científicos 2D típicos del magnetismo, como lazos de histéresis (M vs H), magnetización vs temperatura (M vs T) y series temporales (M vs t), pero puede manejar otros tipos de datos de columnas. Su flujo de trabajo guía al agente de IA para identificar el tipo de figura, inspeccionar los datos, copiar una plantilla de ejemplo, adaptar las etiquetas, límites y leyendas, y elegir entre múltiples esquemas de color perceptualmente uniformes (como viridis, magma, bluegold) y estilos de revista (Nature, presentación, fondo oscuro). El skill automatiza la carga de estos estilos mediante la variable de entorno `GNUPLOT_LIB`, asegurando portabilidad y consistencia. Una vez generado el PDF, se recomienda convertirlo a PNG con `pdftoppm` para inspeccionar visualmente y refinar el resultado. Está diseñado para funcionar en cualquier plataforma que soporte gnuplot (CLI, agentes como Claude Code, Cursor o Codex) y produce figuras reproducibles a partir del script y los datos originales.

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

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

figures — figuras gnuplot de calidad de publicación

Convierte una solicitud en lenguaje natural y uno o más archivos de datos en una figura PDF lista para publicar con el estilo del grupo. Maneja los tipos de figuras de magnetismo más comunes, esquemas de color seleccionables y estilos de revista vs presentación.

Prerrequisitos

  • gnuplot (v6+) — el motor de trazado. Renderiza PDF directamente mediante pdfcairo.
  • pdftoppm (poppler) — convierte el PDF de salida a PNG para que puedas ver la figura e iterar. Siempre verifica visualmente el resultado.

Cómo se cargan los estilos/colores — GNUPLOT_LIB (importante)

Los scripts cargan archivos de estilo compartidos por su nombre simple, por ejemplo load "nature.journal" y load "bluegold.colour". gnuplot los encuentra a través de la ruta de búsqueda GNUPLOT_LIB. Ejecuta gnuplot siempre con GNUPLOT_LIB apuntando a los directorios styles/ y colours/ de este skill:

SKILL_DIR a continuación es la ruta absoluta al directorio propio de este skill (el que contiene este SKILL.md, por ejemplo ~/.claude/skills/figures si está instalado personalmente, o la ruta del repositorio durante el desarrollo). Sustituye la ruta real:

SKILL_DIR="/ruta/absoluta/a/figures"      # directorio que contiene este SKILL.md
export GNUPLOT_LIB="$SKILL_DIR/styles:$SKILL_DIR/colours"
gnuplot migrafico.gpl                        # ejecutar desde el directorio que contiene los datos

Mantener las rutas fuera de los scripts significa que un script es portátil y un cambio en un archivo de estilo se propaga a cada figura que lo carga.

Flujo de trabajo

  1. Identifica el tipo de figura a partir de la solicitud (consulta references/figure-types.md): histéresis M(H), magnetización M(T), serie temporal M(t) u otro tipo. Cada tipo tiene un script de ejemplo canónico para copiar.
  2. Inspecciona los datos. Mira el archivo: elimina líneas de comentario (#), cuenta columnas, comprueba rangos. Asigna qué columnas son x e y. Los archivos de salida de VAMPIRE son columnas separadas por espacios en blanco con encabezados de comentario #; si hay un archivo de entrada de VAMPIRE junto a los datos, sus palabras clave output: definen el orden de las columnas — léelo para etiquetar las columnas correctamente. De lo contrario, trata los datos como columnas genéricas y confirma la asignación con el usuario si es ambiguo.
  3. Copia el ejemplo correspondiente de examples/<tipo>/ como punto de partida y adáptalo: nombres de archivos de datos, columnas using, etiquetas de ejes + unidades, límites de los ejes (5 % más allá del primer y último tick mayor en ambos extremos, mediante padlo/padhi o lpadlo/lpadhi del archivo de revista, consulta references/conventions.md), etiquetas de leyenda y cualquier ajuste.
  4. Elige el estilo y el esquema de color (valores por defecto a continuación; respeta cualquier solicitud explícita). Configúralos mediante las dos líneas load al inicio del script.
  5. Renderiza con GNUPLOT_LIB configurado, produciendo un PDF.
  6. Observa la salida: convierte con pdftoppm -png -r 150 salida.pdf vista y lee el PNG. Comprueba etiquetas recortadas, superposición de leyendas, densidad de ticks, contraste de colores. Itera sobre el script hasta que quede limpio.
  7. Entrega el script .gpl y el PDF. La figura debe ser reproducible a partir del script + los datos únicamente.

Valores por defecto

  • Estilo: nature.journal (86 mm de una columna, Helvetica, listo para impresión).
  • Esquema de color: bluegold.colour (el predeterminado del grupo).
  • Salida: PDF mediante pdfcairo, directo — nunca el pipeline EPS→PDF.

Estilos (styles/)

ArchivoUso
nature.journalPredeterminado. Ancho de una columna (86 mm) para revista de dos columnas; fondo claro, Helvetica.
inverted.journalFondo gris oscuro, primer plano claro — diapositivas/web oscuras.
presentation.journalAvenir Next, lienzo grande — diapositivas de charla proyectada.
presentation-dark.journalEstilo de presentación sobre fondo oscuro.

Esquemas de color (colours/)

Predeterminado: bluegold, usado a menos que se solicite otro esquema. Secuenciales/perceptuales (familias matplotlib y MATLAB): viridis, magma, inferno, plasma, cividis (seguro para daltonismo), parula. Divergentes: bluegold, skyrmion (azul marino → blanco → rojo, para magnitudes con signo como s_z), RdYlBu. Un solo tono: purple. Arcoíris: turbo (mejorado), jet (desaconsejado — no uniforme perceptual). Cada uno define estilos de línea para series discretas ls 1–ls 8 más una paleta continua pm3d. Consulta references/colour-schemes.md para saber cuándo usar cada uno y la combinación claro/oscuro.

Tipos de figura y ejemplos

Los scripts canónicos, anotados y ejecutables viven en examples/:

  • examples/mvsH/MH.gpl — lazo de histéresis M(H), guías de eje cero.
  • examples/mvsT/mvsT.gpl — magnetización M(T) con ajuste de Curie–Bloch.
  • examples/mvstime/mvstime.gpl — serie temporal de desmagnetización multitraza (datos sintéticos, regenerar con make_data.py).
  • examples/anisotropy-surface/3D.gpl — superficie de energía 3D: color raster + ejes vectoriales compuestos dentro de gnuplot (PDFs pequeños y rápidos; sin herramientas externas).

Referencias

  • references/conventions.md — las reglas de figuras del grupo (etiquetas, unidades, ticks, leyendas, ajustes, sintaxis de texto mejorado).
  • references/figure-types.md — receta por tipo y asignación de columnas.
  • references/colour-schemes.md — catálogo de esquemas y guía de selección.

Individual skills in this repo

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

Skills relacionados