plot-from-image について
plot-from-imageは、画像から論文の図を再現するためのスキルです。Pythonで作図する研究者向けに、比率やスタイルの分析、テンプレート、反復調整の手順をまとめています。
主な機能
- 01図のアスペクト比を測定・調整
- 02既存のプロットスタイルを判別
- 03フォント・色・軸・グリッドを分析
- 04チェックリストに沿った図の調整
活用シーン
- 01画像から論文の図を再現
- 02参照図に合わせて字体や軸を調整
- 03既存のプロットテンプレートを改変
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ trae1oung/ paper-plot-skills --skill plot-from-imageインストール後、Claude Code で/plot-from-imageを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/reproduction_guide.mdscripts/classwise_iou_table.py詳細
画像からプロットを作成
画像を分析し、蓄積されたスタイルの知識を活用して、論文の図を再現します。
ワークフロー
1. 比率を測定する
python3 -c "from PIL import Image; img=Image.open('fig.png'); print(img.size, f'AR={img.size[0]/img.size[1]:.2f}')"
figsize=(FW, FH) を設定し、FW/FH が元画像の AR と一致するようにします。
2. 既存のスタイルに合わせる
図が事前に用意されたスタイルに一致するか確認します(最も速い方法です)。
| 図の種類 | 確認するスタイル |
|---|---|
| グループ化/ペアの棒グラフ | bar_paired_delta または bar_grouped_hatch |
| 帯で塗りつぶされた折れ線グラフ | line_confidence_band |
| 切れ目または参照線のある折れ線グラフ | line_training_curve |
| 拡大パネル付き損失曲線 | line_loss_with_inset |
| 散在するクラスター | scatter_tsne_cluster |
| 途中で切れた x 軸 | scatter_broken_axis |
| 多角形のウェブチャート | radar_dual_series |
一致した場合 → ../plot-from-data/references/<name>.md を読み、正確なパラメーターを確認します → ../plot-from-data/scripts/<script>.py を調整します。
3. 一致するものがない場合 → 最初から分析する
references/reproduction_guide.md を読み、以下を網羅した分析チェックリストを確認します。
- フォントファミリーの判別(セリフ体かサンセリフ体か、LaTeX かどうか)
- スパインと目盛りのスタイル(L 字型、4 辺、矢印、内向き/外向き)
- 色の特定(tab10 かカスタムか)
- グリッドのスタイル(破線、点線、なし)
- 特殊な要素(インセット、途中で切れた軸、レーダーグリッド、注釈ボックス)
4. 作成して反復する
Write script → python3 <script>.py → visually compare → fix proportions/colors → re-run
反復時の主なチェックリスト:
- AR が元画像と一致している(PIL で測定)
- フォントファミリーが正しい(LaTeX 論文にはセリフ体、システムフォントにはサンセリフ体)
- 色が元画像から RGB で ±10 以内
- スパインのスタイルが一致している(L 字型か 4 辺か)
- 目盛りの方向が一致している(内向きか外向きか)
- グリッドのスタイルが一致している
- 凡例の配置が一致している
- 注釈/ラベルの位置が一致している
蓄積された経験
7 本の論文に掲載された 9 個の図を再現して得られた主な知見:
- 滑らかな学習曲線:ノイズのある未加工データではなく、プロットする前に
alpha=0.95-0.97で EMA を使用します - レーダーチャートのラベル:
label_r = 1.10-1.15にします(余白が過剰になるため、1.2 以上にはしません) - インセット図:元画像の左右のパネル比率をピクセル単位で測定し、それに応じて
add_axesの幅を設定します - 途中で切れた軸:
wspace=0.05で 2 つのサブプロットを使い、切れ目の記号は下側のスパインだけに配置します - t-SNE の注釈ボックス:統一した暗色の境界色
#2C3E50と、クラスター色の面色(alpha=0.28)を使います - 信頼区間の帯:折れ線と同じ色を使い、
fill_betweenにalpha=0.18-0.22を指定します
リソース
- 分析ガイド:
references/reproduction_guide.md— 新しい画像を分析するための手順ごとのチェックリスト - スタイルライブラリ:
../plot-from-data/references/— 事前に用意された 8 つのスタイルパラメーターファイル - スクリプトテンプレート:
../plot-from-data/scripts/— 動作する 8 つの再現スクリプト - 元画像:
../originals/— 開発で使用した論文の図
コメント
Markdown 対応