Community画像github.com

figures — 出版物品質のgnuplot図作成

シミュレーションやカラムデータから出版物品質の2D科学図をgnuplotで作成します。論文、発表、学位論文、ポスター用の図(特にヒステリシスループ、温度依存磁化、時系列など)を描画・プロットする際に使用します。

figures — 出版物品質のgnuplot図作成 とは?

このスキルは、自然言語のリクエストと1つ以上のデータファイルから、出版物品質のPDF図をgnuplotを用いて自動生成するためのツールです。主に磁性に関連する図(M vs Hヒステリシスループ、M vs T温度依存磁化、M vs t時系列)をサポートし、色スキーム(viridis、magma、bluegoldなど)やジャーナル/プレゼンテーション用スタイルを選択可能です。GNUPLOT_LIB環境変数を使ってスタイルファイルとカラーファイルを読み込むため、スクリプトはポータブルでスタイル変更が全図に反映されます。ワークフローは図タイプの特定、データの検査、テンプレートスクリプトのコピーと適応、スタイルと色の設定、レンダリング(PDF出力)、プレビュー(pdftoppmでPNG変換)と反復調整、最後に再現可能な.gplスクリプトとPDFを提供します。Claude Code、Cursor、CodexなどのAIエージェント環境で動作し、gnuplot v6以上とpopplerユーティリティが必要です。

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

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

figures — 出版物品質のgnuplot図作成 は何をしますか?

自然言語のリクエストと1つ以上のデータファイルから、グループハウススタイルで論文提出可能なPDF図を作成します。一般的な磁性図タイプ、選択可能な色スキーム、ジャーナル/プレゼンテーション用スタイルを処理します。

前提条件

  • gnuplot (v6以上) — プロットエンジン。pdfcairo経由で直接PDFをレンダリングします。
  • pdftoppm (poppler) — 出力PDFをPNGに変換して図を確認し、反復調整を行います。結果は常に視覚的に確認してください。

スタイル/カラーの読み込み方法 — GNUPLOT_LIB (重要)

スクリプトは共有スタイルファイルをファイル名のみで読み込みます(例: load "nature.journal" や load "bluegold.colour")。gnuplotは GNUPLOT_LIB 検索パスを使ってこれらを見つけます。常に GNUPLOT_LIB をこのスキルの styles/ および colours/ ディレクトリに設定してgnuplotを実行してください:

以下の SKILL_DIR はこのスキル自身のディレクトリ(この SKILL.md が含まれているディレクトリ、例えば個人インストールの場合は ~/.claude/skills/figures、開発中の場合はリポジトリパス)の絶対パスです。実際のパスに置き換えてください:

SKILL_DIR="/absolute/path/to/figures"      # このSKILL.mdを含むディレクトリ
export GNUPLOT_LIB="$SKILL_DIR/styles:$SKILL_DIR/colours"
gnuplot myfigure.gpl                        # データのあるディレクトリから実行

スクリプトからパスを分離することで、スクリプトはポータブルになり、スタイルファイルの変更がそれを読み込むすべての図に自動反映されます。

ワークフロー

  1. 図タイプを特定する(references/figure-types.md を参照): ヒステリシス M(H)、磁化 M(T)、時系列 M(t)、その他。各タイプにはコピー元となる標準的なサンプルスクリプトがあります。
  2. データを検査する。 ファイルを確認: コメント行(#)を除去、カラム数を数え、範囲を確認。どのカラムがx軸でどのカラムがy軸かマッピングします。VAMPIRE出力ファイルは # コメントヘッダー付きの空白区切りカラムのプレーンテキストです。データファイルと一緒にVAMPIRE入力ファイルがある場合、その output: キーワードがカラム順序を定義しているので、それを読んでカラムを正しくラベル付けします。それ以外の場合はデータを汎用カラムとして扱い、曖昧な場合はユーザーにマッピングを確認します。
  3. 該当するサンプルを examples/<type>/ からコピーし、データファイル名、using カラム、軸ラベル+単位、軸範囲(ジャーナルファイルの padlo/padhi または lpadlo/lpadhi を用いて最初と最後の主目盛りの5%外側まで拡張、references/conventions.md 参照)、凡例ラベル、フィット式を適応します。
  4. スタイルと色スキームを選択します(デフォルトは後述。明示的なリクエストがあればそれに従います)。スクリプト先頭の2つの load 行で設定します。
  5. GNUPLOT_LIB を設定した状態でレンダリングし、PDFを生成します。
  6. 出力を確認する: pdftoppm -png -r 150 out.pdf preview で変換し、PNGを読みます。ラベルのクリップ、凡例の重なり、目盛りの密度、色のコントラストを確認します。きれいになるまでスクリプトを反復調整します。
  7. .gpl スクリプトとPDFを提供します。図はスクリプトとデータのみから再現可能でなければなりません。

デフォルト

  • スタイル: nature.journal(86mm シングルカラム、Helvetica、印刷対応)。
  • 色スキーム: bluegold.colour(ハウスデフォルト)。
  • 出力: pdfcairo 経由の直接PDF — EPS→PDFパイプラインは使いません。

スタイル (styles/)

ファイル用途
nature.journalデフォルト。 2カラムジャーナル用シングルカラム幅(86mm)、明るい背景、Helvetica。
inverted.journal暗い灰色の背景、明るい前景 — 暗いスライド/ウェブ用。
presentation.journalAvenir Next、大きなキャンバス — プロジェクション発表スライド用。
presentation-dark.journal暗い背景のプレゼンテーションスタイル。

色スキーム (colours/)

デフォルト: bluegold、別のスキームがリクエストされない限り使用されます。 シーケンシャル/知覚的(matplotlib および MATLAB 系): viridis、magma、inferno、plasma、cividis(色覚障害者セーフ)、parula。 発散的: bluegold、skyrmion(ネイビー → 白 → 赤、s_z などの符号付き量用)、RdYlBu。 単色相: purple。 虹色: turbo(改良版)、jet(非推奨 — 知覚的に均一でない)。 各スキームは離散的な系列線スタイル ls 1〜ls 8 と連続的な pm3d パレットを定義します。各スキームの用途と明/暗ペアリングについては references/colour-schemes.md を参照してください。

図タイプとサンプル

標準的な、注釈付きで実行可能なスクリプトが examples/ にあります:

  • examples/mvsH/MH.gpl — ヒステリシスループ M(H)、ゼロ軸ガイド付き。
  • examples/mvsT/mvsT.gpl — 磁化 M(T)、Curie-Blochフィット付き。
  • examples/mvstime/mvstime.gpl — マルチカーブ消磁時系列(合成データ、make_data.py で再生成)。
  • examples/anisotropy-surface/3D.gpl — 3Dエネルギー表面: gnuplot内部でラスター色+ベクトル軸を合成(軽量で高速なPDF、外部ツール不要)。

参考文献

  • references/conventions.md — ハウス図ルール(ラベル、単位、目盛り、凡例、フィット、拡張テキスト構文)。
  • references/figure-types.md — タイプ別レシピとカラムマッピング。
  • references/colour-schemes.md — スキームカタログと選択ガイド。

Individual skills in this repo

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

関連スキル