CommunityImagemgithub.com

richard-evans/figures

Produza figuras científicas 2D de qualidade para publicação com gnuplot a partir de dados de simulação ou colunas. Use sempre que o usuário quiser criar, plotar ou renderizar uma figura/gráfico para artigo, palestra, tese ou pôster — especialmente gráficos de magnetismo como loops de histerese (M vs H), magnetização dependente da temperatura (M vs T) e séries temporais (M vs t), incluindo escolha de esquema de cores, aplicação de estilo de revista/apresentação, adição de rótulos de eixos e unidades, e ajuste de curvas. Acione com: "criar figura", "plotar", "gráfico", "loop de histerese", "M vs H / M vs T", "curva de magnetização", "gnuplot", "figura para publicação", "com cores viridis/magma/plasma/cividis/turbo/skyrmion/bluegold".

O que é figures?

Esta skill permite gerar figuras científicas 2D prontas para publicação utilizando gnuplot, com suporte a estilos de revistas e apresentações, esquemas de cores perceptual e personalizados, e tipos comuns de gráficos de magnetismo (como loops de histerese M(H), magnetização M(T) e séries temporais M(t)). A partir de um ou mais arquivos de dados e uma solicitação em linguagem natural, a skill identifica o tipo de figura, copia um script de exemplo canônico, adapta colunas, rótulos e limites, define o estilo e esquema de cores, renderiza em PDF e converte para PNG para inspeção visual, iterando até obter um resultado limpo. Suporta estilos como nature.journal (padrão) e presentation.journal, e esquemas de cores como bluegold, viridis, magma, plasma, cividis, turbo, skyrmion, entre outros. A skill depende do gnuplot v6+ e pdftoppm, e requer que a variável de ambiente GNUPLOT_LIB aponte para os diretórios de estilos e cores da skill. O fluxo de trabalho inclui inspeção dos dados, cópia e adaptação de exemplos, renderização com GNUPLOT_LIB configurada, conversão para PNG, verificação visual e iteração. Ideal para pesquisadores e cientistas que precisam gerar figuras de alta qualidade para artigos, teses, palestras e pôsteres, mantendo a reprodutibilidade a partir do script e dados.

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

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

figures — figuras gnuplot de qualidade para publicação

Transforme uma solicitação em linguagem natural, mais um ou mais arquivos de dados, em uma figura PDF pronta para publicação no estilo do grupo. Lida com os tipos comuns de figuras de magnetismo, esquemas de cores selecionáveis e estilo de revista vs. apresentação.

Pré-requisitos

  • gnuplot (v6+) — o motor de plotagem. Renderiza PDF diretamente via pdfcairo.
  • pdftoppm (poppler) — converte o PDF de saída para PNG para que você possa olhar a figura e iterar. Sempre verifique visualmente o resultado.

Como estilos/cores são carregados — GNUPLOT_LIB (importante)

Os scripts carregam arquivos de estilo compartilhados pelo nome simples, ex.: load "nature.journal" e load "bluegold.colour". O gnuplot encontra esses arquivos através do caminho de busca GNUPLOT_LIB. Sempre execute o gnuplot com GNUPLOT_LIB apontando para os diretórios styles/ e colours/ desta skill:

SKILL_DIR abaixo é o caminho absoluto para o próprio diretório desta skill (aquele que contém este SKILL.md, ex.: ~/.claude/skills/figures se instalado pessoalmente, ou o caminho do repositório durante o desenvolvimento). Substitua pelo caminho real:

SKILL_DIR="/caminho/absoluto/para/figures"      # dir que contém este SKILL.md
export GNUPLOT_LIB="$SKILL_DIR/styles:$SKILL_DIR/colours"
gnuplot myfigure.gpl                                # execute a partir do diretório que contém os dados

Manter os caminhos fora dos scripts significa que um script é portátil e uma alteração em um arquivo de estilo se propaga para todas as figuras que o carregam.

Fluxo de trabalho

  1. Identifique o tipo de figura a partir da solicitação (veja references/figure-types.md): histerese M(H), magnetização M(T), série temporal M(t) ou outro. Cada tipo tem um script de exemplo canônico para copiar.
  2. Inspecione os dados. Olhe o arquivo: remova linhas de comentário (#), conte colunas, verifique intervalos. Mapeie quais colunas são x e y. Arquivos de saída do VAMPIRE são colunas separadas por espaço simples com cabeçalhos de comentário #; se um arquivo de entrada do VAMPIRE estiver junto com os dados, suas palavras-chave output: definem a ordem das colunas — leia-o para rotular as colunas corretamente. Caso contrário, trate os dados como colunas genéricas e confirme o mapeamento com o usuário se ambíguo.
  3. Copie o exemplo correspondente de examples/<type>/ como ponto de partida e adapte: nomes dos arquivos de dados, colunas using, rótulos dos eixos + unidades, limites dos eixos (5 % além do primeiro e do último tick principal em ambas as extremidades, via padlo/padhi ou lpadlo/lpadhi do arquivo de revista, veja references/conventions.md), rótulos da legenda e qualquer ajuste.
  4. Escolha o estilo e o esquema de cores (padrões abaixo; respeite qualquer solicitação explícita). Defina-os através das duas linhas load no topo do script.
  5. Renderize com GNUPLOT_LIB configurada, produzindo um PDF.
  6. Olhe a saída: converta com pdftoppm -png -r 150 out.pdf preview e leia o PNG. Verifique rótulos cortados, sobreposição de legendas, densidade de ticks, contraste de cores. Itere no script até que esteja limpo.
  7. Entregue o script .gpl e o PDF. A figura deve ser reproduzível apenas com o script + dados.

Padrões

  • Estilo: nature.journal (86 mm de coluna única, Helvetica, pronto para impressão).
  • Esquema de cores: bluegold.colour (o padrão do grupo).
  • Saída: PDF via pdfcairo, direta — nunca o pipeline EPS→PDF.

Estilos (styles/)

ArquivoUso
nature.journalPadrão. Largura de coluna única (86 mm) para revista de duas colunas; fundo claro, Helvetica.
inverted.journalFundo cinza escuro, primeiro plano claro — slides/web escuros.
presentation.journalAvenir Next, tela grande — slides de palestra projetados.
presentation-dark.journalEstilo de apresentação em fundo escuro.

Esquemas de cores (colours/)

Padrão: bluegold, usado a menos que outro esquema seja solicitado. Sequenciais/perceptuais (famílias matplotlib e MATLAB): viridis, magma, inferno, plasma, cividis (seguro para daltonismo), parula. Divergentes: bluegold, skyrmion (azul marinho → branco → vermelho, para quantidades sinalizadas como s_z), RdYlBu. Tom único: purple. Arco-íris: turbo (melhorado), jet (desencorajado — não uniforme perceptual). Cada um define estilos de linha de série discretos ls 1–ls 8 mais uma paleta contínua pm3d. Veja references/colour-schemes.md para quando usar cada um e emparelhamento claro/escuro.

Tipos de figura e exemplos

Scripts canônicos, anotados e executáveis estão em examples/:

  • examples/mvsH/MH.gpl — loop de histerese M(H), guias de eixo zero.
  • examples/mvsT/mvsT.gpl — magnetização M(T) com ajuste de Curie–Bloch.
  • examples/mvstime/mvstime.gpl — série temporal de desmagnetização com múltiplas curvas (dados sintéticos, regenere com make_data.py).
  • examples/anisotropy-surface/3D.gpl — superfície de energia 3D: cor raster + eixos vetoriais compostos dentro do gnuplot (PDFs pequenos e rápidos; sem ferramentas externas).

Referências

  • references/conventions.md — as regras de figuras do grupo (rótulos, unidades, ticks, legendas, ajustes, sintaxe de texto aprimorada).
  • references/figure-types.md — receita por tipo e mapeamento de colunas.
  • references/colour-schemes.md — catálogo de esquemas e guia de seleção.

Individual skills in this repo

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

Habilidades Relacionadas