data-visualization について
Data Visualization Best Practicesは、科学的な図表の作成と確認に役立つガイドおよびユーティリティです。論文用の図を準備する研究者向けに、チャート選択、問題の確認、スタイル素材、ジャーナル要件や画像サイズ制限に対応する出力スクリプトを提供します。
主な機能
- 01データの種類に応じたチャート選択
- 02対数軸と外れ値処理の確認
- 03色覚に配慮した配色の適用
- 04出版向けスタイルとパレットの利用
- 05ジャーナル仕様に沿った図の出力
活用シーン
- 01科学論文用の図表作成
- 02誤解を招く可能性のある図の検証
- 03レイアウトと統計注釈の改善
- 04Claudeで共有する画像の準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ delphine-l/ claude_global --skill data-visualizationインストール後、Claude Code で/data-visualizationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
chart-recipes.mdclaude-image-constraints.mdcolor-palettes.mdfigure-descriptions.mditol-reference.mdjournal_requirements.mdpitfalls-and-troubleshooting.mdassets/color_palettes.pynature.mplstylepresentation.mplstylepublication.mplstylescripts/figure_export.pystyle_presets.py詳細
データ可視化のベストプラクティス
出版品質の科学的な可視化を作成し、よくある落とし穴を回避して、図の明瞭さを最適化するための専門的なガイダンスです。
このスキルを使用する場面
- 科学論文向けの図を作成するとき
- 誤解を招く、または歪んだ可視化をデバッグするとき
- 図のレイアウトや要素のサイズを最適化するとき
- データの特性に適したプロットの種類を選ぶとき
- 統計的注釈が適切に収まるようにするとき
- Claude やほかの AI ツールと共有する画像を生成するとき
関連ファイル
このスキルは、用途ごとに特化した参考ファイルで構成されています。必要に応じて読み込んでください。
- pitfalls-and-troubleshooting.md - 対数スケールによる歪み、座標変換のバグ、外れ値の扱い方針、軸範囲の最適化、浮動小数点形式の年ラベル
- chart-recipes.md - 時系列の傾向、箱ひげ図、散布図、カテゴリの割合、積み上げ面グラフ、サンプルサイズの凡例、出版用図で外れ値を扱う二重アプローチのコードレシピ
- color-palettes.md - 岡部・伊藤カラーパレット、Paul Tol カラーパレット、連続・発散スキーム、matplotlib/seaborn での色覚バリアフリーな実装
- claude-image-constraints.md - Claude API の 8000px 制限、安全な図サイズのプリセット、リサイズ用ヘルパー、Jupyter Notebook の巨大画像に関する修正方法
- figure-descriptions.md - 適切な統計報告を含む、出版品質の図の説明文を作成するためのテンプレート
- itol-reference.md - iTOL のデータセット形式(DATASET_STYLE、DATASET_BINARY、DATASET_COLORSTRIP)、種名の同期、トラブルシューティング
- journal-requirements.md - 学術誌ごとの図の仕様(Nature、Science、Cell、PLOS、ACS、IEEE、Elsevier、BMC):寸法、DPI、形式、パネルのラベル付け、ファイル名
アセット(ノートブック/スクリプトでインポート可能)
assets/publication.mplstyle- 一般的な出版向けスタイル:plt.style.use('path/to/publication.mplstyle')assets/nature.mplstyle- Nature 誌向けスタイル(単段組み 89mm、フォント 7pt、600 DPI)assets/presentation.mplstyle- ポスターやスライド向けの大きなフォントと線assets/color_palettes.py- インポート可能なパレット定義(岡部・伊藤、Wong、Paul Tol)、apply_palette()ヘルパー、DNA 塩基の色
スクリプト(ヘルパーユーティリティ)
scripts/figure_export.py-save_publication_figure()、save_for_journal()、check_figure_size():学術誌ごとの DPI/形式設定で複数の形式にエクスポートscripts/style_presets.py-apply_publication_style()、configure_for_journal()、set_color_palette():学術誌向けの設定をワンコマンドで適用
基本原則
1. 対数スケールのプロットは必ず確認する
対数軸上の KDE ベースのプロット(バイオリンプロット、リッジプロット)は、形状が歪みます。箱ひげ図を使うか、データを先に対数変換してから線形軸でプロットしてください。詳しくは pitfalls-and-troubleshooting.md を参照してください。
2. まずすべてのデータを表示し、フィルタリングは後から行う
最初の可視化では、すべてのデータ点を表示する(showfliers=True)ことを基本とします。外れ値は生物学的に重要な意味を持つ可能性があります。分野の専門家と確認した後にのみフィルタリングし、除外したデータは必ず記録してください。
3. 色覚バリアフリーのパレットを使用する
カテゴリデータには、Nature が推奨する岡部・伊藤カラーパレットを使用してください。色だけでなくマーカーの形も併用し、情報を重複して伝えましょう。赤と緑の組み合わせは使用しないでください。16 進数コードと実装方法については color-palettes.md を参照してください。
4. Claude の画像サイズ制限を守る
Claude と共有する画像は、どちらの寸法も 8000 ピクセル を超えてはいけません。安全な図サイズのプリセットと save_figure() ヘルパーを使用してください。詳しくは claude-image-constraints.md を参照してください。
5. 注釈は慎重に配置する
テキストの配置には、純粋なデータ座標または ax.transAxes(0~1の範囲)を使用します。座標系を混在させないでください(例:ax.get_xaxis_transform() とデータスケールの y 値を組み合わせる)。詳しくは、pitfalls-and-troubleshooting.md を参照してください。
グラフ選択のクイックガイド
| データの種類 | 推奨されるグラフ | 使用する場面 |
|---|---|---|
| 分布の比較 | 箱ひげ図 | 大規模なデータセット、対数スケール、複数グループ |
| 分布の形状 | ヒストグラム | 対数スケールでも常に機能し、実際の頻度を表示 |
| 時系列の傾向(点が少ない場合) | 散布図+回帰 | 各時点あたり 50 点未満、連続時間 |
| 時系列の傾向(点が多い場合) | 年ごとの箱ひげ図 | 点が重なっている場合、離散的な時点 |
| 時間経過に伴うカテゴリの割合 | 積み上げ面グラフ+積み上げ棒グラフ(2 パネル) | 相対的な傾向と絶対的な傾向の両方を表示 |
| カテゴリの比較 | 棒グラフ、バイオリンプロット(線形スケールのみ) | グループの平均値または分布 |
| 系統樹の注釈 | iTOL データセット | メタデータを使った系統樹の可視化 |
論文掲載用の図のチェックリスト
作成前
- 色覚バリアフリーの配色を選ぶ(岡部-伊藤カラーパレットを推奨)
- Claude の上限である 8000px 以内に図の寸法を設定する
- パネルのレイアウト(横並びか縦積みか)を決める
作成中
- 凡例にサンプルサイズを記載する:
Category (n=123) - 年のラベルに整数を使用する:
ax.xaxis.set_major_locator(plt.MaxNLocator(integer=True)) - 注釈を追加する場合は、軸の範囲を明示的に設定する
- データが密集している場合は、要素のサイズを小さくする(s=25, alpha=0.5)
- 保存時に
bbox_inches='tight'を使用する
作成後
- 画像の寸法を確認する(Claude の場合、最大 7999x7999)
- 注釈がプロット範囲内にあることを確認する
- 色覚バリアフリーに対応しているか確認する
- 論文掲載用には最低 300 DPI で保存する
時系列分析の場合
- 全データ版とクリーニング済み版の両方を作成する
- 統計量はクリーニングしていない全データセットで算出する
- 外れ値の除去方法とデータ保持率を記録する
- 分かりやすいファイル名を使用する:
figure.pngとfigure_clean.png
クイックリファレンス:安全な図のサイズ(300 DPI)
FIG_SIZES = {
'single_column': (3.5, 4), # 1050x1200 px
'double_column': (7, 5), # 2100x1500 px
'full_page': (7, 9), # 2100x2700 px
'poster': (20, 15), # 6000x4500 px
'max_claude': (26, 26), # 7800x7800 px
}
クイックリファレンス:岡部-伊藤カラー(3 カテゴリ)
colors = {
'Category_A': '#0072B2', # Blue
'Category_B': '#E69F00', # Orange
'Category_C': '#CC79A7' # Reddish Purple
}
ベストプラクティスのまとめ
- 対数スケールのプロットは必ず確認する - KDE ベースのプロットをヒストグラムと照合する
- 要素のサイズをテストする - 最適な見やすさになるよう、異なるサイズで再生成する
- 軸の範囲を明示する - 注釈を追加する場合、自動範囲に頼らない
- スタイルを統一する - 論文掲載用の一貫性を保つため、seaborn のコンテキストとスタイルを使用する
- 高 DPI にする - 最低 300 DPI で保存する(
dpi=300, bbox_inches='tight') - 軸の範囲を最適化する - 分布が圧縮されている場合は、データの範囲にズームする
- 画像の寸法を確認する - Claude と共有する前にサイズを確認する(最大 7999x7999)
- サイズ制約を設定する - プログラムで画像を生成する場合は、安全な図のサイズを使用する
- 外れ値を含む時系列の傾向 - クリーニング済み(論文掲載用)と全データ(検証用)の両方を作成する
- サンプルサイズを記載する - 比較用の図では、必ず凡例に n= を表示する
参考資料
- Matplotlib のドキュメント:https://matplotlib.org/
- Seaborn の可視化:https://seaborn.pydata.org/
- iTOL のドキュメント:https://itol.embl.de/help.cgi
- 岡部-伊藤カラーパレット:https://jfly.uni-koeln.de/color/
- ColorBrewer:https://colorbrewer2.org