scientific-figure-pro について
scientific-figure-pro は、論文用の図を作成・修正する Python スキルです。一般的な図表のヘルパーと、統一されたスタイルおよび出力設定を備えています。
主な機能
- 01論文向けの統一スタイル設定
- 02棒・推移・ヒートマップ・散布図のヘルパー
- 03複数パネルのサブプロット作成
- 04概念図向けの球体イラスト
- 05一貫した図の出力設定
活用シーン
- 01論文掲載用のベンチマーク図の作成
- 02コンパクトな分析プロットの作成
- 03ラベルや注釈付きヒートマップの作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ l-yifan/ skills --skill scientific-figure-proインストール後、Claude Code で/scientific-figure-proを入力して読み込まれたか確認します。
同梱ファイルreferences/design_theory.mdscripts/scientific_figure_pro.py
詳細
科学論文用図表 Pro
figures4papers プロジェクトの図表と統一感のある見た目で、論文掲載用の図表を作成または修正する際にこのスキルを使用します。
ワークフロー
- 図表の種類(棒グラフ、傾向グラフ、ヒートマップ、散布図、複数パネル、概念図)を特定します。
scripts/scientific_figure_pro.pyからヘルパー API を読み込みます。apply_publication_style(...)でスタイルを最初に適用します。make_*ヘルパーを使って図表を作成します。finalize_figure(...)でエクスポートし、レイアウトと出力のデフォルト設定を統一します。
ヘルパーモジュールの使用
パッケージのインポートが難しい場合は、ファイルパスを指定して読み込みます。
import importlib.util
from pathlib import Path
import matplotlib.pyplot as plt
module_path = Path("skills/scientific-figure-pro/scripts/scientific_figure_pro.py")
spec = importlib.util.spec_from_file_location("scientific_figure_pro", module_path)
mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)
コア API
FigureStyle(...):タイポグラフィと軸の線幅を設定します。apply_publication_style(style=None):グローバルな rcParams を適用します。create_subplots(nrows, ncols, figsize, **kwargs):軸を平坦化して作成します。make_grouped_bar(...):論文掲載向けのデフォルト設定でグループ化棒グラフを作成します。make_trend(...):信頼区間の影を任意で付けた傾向線を作成します。make_heatmap(...):ラベルと注釈を任意で付けたヒートマップを作成します。make_scatter(...):見やすい散布図を作成します。make_sphere_illustration(...):概念を表す陰影付き球体パネルを作成します。finalize_figure(fig, out_path, formats=None, dpi=300, pad=0.05):一貫した設定で出力を保存します。
スタイルポリシー
- Helvetica/Arial 系のサンセリフフォントを使用します。
- 上と右のスパインを削除します。
- 凡例の枠線をなくします。
- 意味に基づいてパレットを割り当てます。
- 対象/提案手法には青を使用します。
- 改善には緑を使用します。
- 対比対象/ベースラインには赤を使用します。
- 補助カテゴリにはニュートラルカラーを使用します。
- デフォルトで
dpi=300を使用し、密度の高い棒グラフのパネルではdpi=600を使用します。
実用的なデフォルト設定
- 密度の高いベンチマーク棒グラフ:
FigureStyle(font_size=24, axes_linewidth=3)と幅広のキャンバスを使用します。 - コンパクトな分析グラフ:
FigureStyle(font_size=15 or 16, axes_linewidth=2)を使用します。 plt.savefig(...)を直接使う代わりに、すべての図表をfinalize_figure(...)で仕上げます。
依存関係
- Python 3.8 以降
matplotlibnumpy
参考資料
- スタイルの根拠と再現ルールが必要な場合は、
references/design_theory.mdを読みます。
コメント
Markdown 対応