mcpField
P
plot-from-image

plot-from-image

github.com/trae1oungデータ・データベース91955 回インストール27 週間前に更新
リポジトリ

plot-from-image について

plot-from-imageは、画像から論文の図を再現するためのスキルです。Pythonで作図する研究者向けに、比率やスタイルの分析、テンプレート、反復調整の手順をまとめています。

主な機能

  1. 01図のアスペクト比を測定・調整
  2. 02既存のプロットスタイルを判別
  3. 03フォント・色・軸・グリッドを分析
  4. 04チェックリストに沿った図の調整

活用シーン

  1. 01画像から論文の図を再現
  2. 02参照図に合わせて字体や軸を調整
  3. 03既存のプロットテンプレートを改変

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/trae1oung/paper-plot-skills --skill plot-from-image

インストール後、Claude Code で/plot-from-imageを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
reproduction_guide.md
scripts/
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/ — 開発で使用した論文の図

コメント