Agent Skills by ALSEL
Anthropic Claudeその他⭐ リポ 0品質スコア 50/100

scientific-visualization

matplotlib/seaborn/plotly を使用して論文掲載用のグラフを作成します。複数パネルレイアウト、エラーバー、有意差マーカー、色覚バリアフリー配色に対応し、PDF/EPS/TIFF 形式でエクスポートすることで、学術誌投稿に即した高品質な科学的プロットを生成します。

description の原文を見る

Create publication figures with matplotlib/seaborn/plotly. Multi-panel layouts, error bars, significance markers, colorblind-safe, export PDF/EPS/TIFF, for journal-ready scientific plots.

SKILL.md 本文

Scientific Visualization

Overview

Scientific visualization is、データを出版用の明確で正確な図に変換します。複数パネルのレイアウト、エラーバー、有意性マーカー、色覚障害対応パレットを備えたジャーナル対応プロットを作成します。matplotlib、seaborn、plotlyを使用してPDF/EPS/TIFFでエクスポートし、論文に対応します。

このスキルを使用する場合

このスキルは以下の場合に使用すべきです:

  • 科学論文用のプロットまたはビジュアライゼーションを作成する場合
  • ジャーナル投稿用の図を準備する場合(Nature、Science、Cell、PLOSなど)
  • 図が色覚障害に対応しており、アクセシブルであることを確認する場合
  • 一貫したスタイルの複数パネル図を作成する場合
  • 正しい解像度とフォーマットで図をエクスポートする場合
  • 特定の出版ガイドラインに従う場合
  • 出版基準を満たすために既存の図を改善する場合
  • カラーと グレースケール の両方で機能する必要がある図を作成する場合

クイックスタートガイド

基本的な出版品質の図

import matplotlib.pyplot as plt
import numpy as np

# Apply publication style (from scripts/style_presets.py)
from style_presets import apply_publication_style
apply_publication_style('default')

# Create figure with appropriate size (single column = 3.5 inches)
fig, ax = plt.subplots(figsize=(3.5, 2.5))

# Plot data
x = np.linspace(0, 10, 100)
ax.plot(x, np.sin(x), label='sin(x)')
ax.plot(x, np.cos(x), label='cos(x)')

# Proper labeling with units
ax.set_xlabel('Time (seconds)')
ax.set_ylabel('Amplitude (mV)')
ax.legend(frameon=False)

# Remove unnecessary spines
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

# Save in publication formats (from scripts/figure_export.py)
from figure_export import save_publication_figure
save_publication_figure(fig, 'figure1', formats=['pdf', 'png'], dpi=300)

事前に設定されたスタイルを使用する

assets/にあるmatplotlibスタイルファイルを使用して、ジャーナル固有のスタイルを適用します:

import matplotlib.pyplot as plt

# Option 1: Use style file directly
plt.style.use('assets/nature.mplstyle')

# Option 2: Use style_presets.py helper
from style_presets import configure_for_journal
configure_for_journal('nature', figure_width='single')

# Now create figures - they'll automatically match Nature specifications
fig, ax = plt.subplots()
# ... your plotting code ...

Seabornでのクイックスタート

統計プロットの場合、出版スタイルでseabornを使用します:

import seaborn as sns
import matplotlib.pyplot as plt
from style_presets import apply_publication_style

# Apply publication style
apply_publication_style('default')
sns.set_theme(style='ticks', context='paper', font_scale=1.1)
sns.set_palette('colorblind')

# Create statistical comparison figure
fig, ax = plt.subplots(figsize=(3.5, 3))
sns.boxplot(data=df, x='treatment', y='response', 
            order=['Control', 'Low', 'High'], palette='Set2', ax=ax)
sns.stripplot(data=df, x='treatment', y='response',
              order=['Control', 'Low', 'High'], 
              color='black', alpha=0.3, size=3, ax=ax)
ax.set_ylabel('Response (μM)')
sns.despine()

# Save figure
from figure_export import save_publication_figure
save_publication_figure(fig, 'treatment_comparison', formats=['pdf', 'png'], dpi=300)

コア原則とベストプラクティス

1. 解像度とファイルフォーマット

重要な要件 (references/publication_guidelines.mdに詳細記載):

  • ラスター画像 (写真、顕微鏡画像): 300~600 DPI
  • ラインアート (グラフ、プロット): 600~1200 DPI またはベクターフォーマット
  • ベクターフォーマット (推奨): PDF、EPS、SVG
  • ラスターフォーマット: TIFF、PNG (科学データにはJPEGを絶対に使用しないこと)

実装:

# Use the figure_export.py script for correct settings
from figure_export import save_publication_figure

# Saves in multiple formats with proper DPI
save_publication_figure(fig, 'myfigure', formats=['pdf', 'png'], dpi=300)

# Or save for specific journal requirements
from figure_export import save_for_journal
save_for_journal(fig, 'figure1', journal='nature', figure_type='combination')

2. 色選択 - 色覚障害対応

常に色覚障害対応パレットを使用する (references/color_palettes.mdに詳細記載):

推奨:Okabe-Itoパレット (色覚障害のすべてのタイプで識別可能):

# Option 1: Use assets/color_palettes.py
from color_palettes import OKABE_ITO_LIST, apply_palette
apply_palette('okabe_ito')

# Option 2: Manual specification
okabe_ito = ['#E69F00', '#56B4E9', '#009E73', '#F0E442',
             '#0072B2', '#D55E00', '#CC79A7', '#000000']
plt.rcParams['axes.prop_cycle'] = plt.cycler(color=okabe_ito)

ヒートマップ/連続データの場合:

  • 知覚的に均一なカラーマップを使用: viridisplasmacividis
  • 赤-緑の発散マップを避ける (PuOrRdBuBrBGを代わりに使用)
  • jet または rainbow カラーマップを絶対に使用しないこと

常にグレースケールで図をテストして、解釈可能性を確認してください。

3. 描字とテキスト

フォントガイドライン (references/publication_guidelines.mdに詳細記載):

  • サンセリフフォント: Arial、Helvetica、Calibri
  • 最終的な印刷サイズでの 最小サイズ:
    • 軸ラベル: 7~9 pt
    • 目盛りラベル: 6~8 pt
    • パネルラベル: 8~12 pt (太字)
  • ラベルはセンテンスケース: 「Time (hours)」ではなく「TIME (HOURS)」ではなく
  • 常に括弧内に単位を含める

実装:

# Set fonts globally
import matplotlib as mpl
mpl.rcParams['font.family'] = 'sans-serif'
mpl.rcParams['font.sans-serif'] = ['Arial', 'Helvetica']
mpl.rcParams['font.size'] = 8
mpl.rcParams['axes.labelsize'] = 9
mpl.rcParams['xtick.labelsize'] = 7
mpl.rcParams['ytick.labelsize'] = 7

4. 図の寸法

ジャーナル固有の幅 (references/journal_requirements.mdに詳細記載):

  • Nature: シングル 89 mm、ダブル 183 mm
  • Science: シングル 55 mm、ダブル 175 mm
  • Cell: シングル 85 mm、ダブル 178 mm

図のサイズ遵守を確認:

from figure_export import check_figure_size

fig = plt.figure(figsize=(3.5, 3))  # 89 mm for Nature
check_figure_size(fig, journal='nature')

5. 複数パネル図

ベストプラクティス:

  • パネルを太字文字でラベル付け: ABC (ほとんどのジャーナルは大文字、Natureは小文字)
  • すべてのパネルで一貫したスタイルを維持する
  • 可能な場合、パネルを端で配置する
  • パネル間に十分な空白を使用する

実装例 (references/matplotlib_examples.mdに完全なコードあり):

from string import ascii_uppercase

fig = plt.figure(figsize=(7, 4))
gs = fig.add_gridspec(2, 2, hspace=0.4, wspace=0.4)

ax1 = fig.add_subplot(gs[0, 0])
ax2 = fig.add_subplot(gs[0, 1])
# ... create other panels ...

# Add panel labels
for i, ax in enumerate([ax1, ax2, ...]):
    ax.text(-0.15, 1.05, ascii_uppercase[i], transform=ax.transAxes,
            fontsize=10, fontweight='bold', va='top')

一般的なタスク

タスク 1: 出版対応のラインプロットを作成する

完全なコードについては references/matplotlib_examples.md 例1を参照。

主な手順:

  1. 出版スタイルを適用する
  2. ターゲットジャーナルに合わせた適切な図サイズを設定する
  3. 色覚障害対応の色を使用する
  4. 正しい表現 (SEM、SD、またはCI) でエラーバーを追加する
  5. 単位付きで軸をラベル付けする
  6. 不要なスパインを削除する
  7. ベクターフォーマットで保存する

自動信頼区間をするためのseabornの使用:

import seaborn as sns
fig, ax = plt.subplots(figsize=(5, 3))
sns.lineplot(data=timeseries, x='time', y='measurement',
             hue='treatment', errorbar=('ci', 95), 
             markers=True, ax=ax)
ax.set_xlabel('Time (hours)')
ax.set_ylabel('Measurement (AU)')
sns.despine()

タスク 2: 複数パネル図を作成する

完全なコードについては references/matplotlib_examples.md 例2を参照。

主な手順:

  1. 柔軟なレイアウトのために GridSpec を使用する
  2. パネル全体で一貫したスタイルを確認する
  3. 太字のパネルラベル (A、B、C など) を追加する
  4. 関連するパネルを配置する
  5. すべてのテキストが最終サイズで読可能であることを確認する

タスク 3: 適切なカラーマップでヒートマップを作成する

完全なコードについては references/matplotlib_examples.md 例4を参照。

主な手順:

  1. 知覚的に均一なカラーマップを使用 (viridisplasmacividis)
  2. ラベル付きカラーバーを含める
  3. 発散データの場合、色覚障害対応の発散マップを使用 (RdBu_rPuOr)
  4. 発散マップに対して適切な中央値を設定する
  5. グレースケールでの外観をテストする

相関行列でのseabornの使用:

import seaborn as sns
fig, ax = plt.subplots(figsize=(5, 4))
corr = df.corr()
mask = np.triu(np.ones_like(corr, dtype=bool))
sns.heatmap(corr, mask=mask, annot=True, fmt='.2f',
            cmap='RdBu_r', center=0, square=True,
            linewidths=1, cbar_kws={'shrink': 0.8}, ax=ax)

タスク 4: 特定のジャーナルの図を準備する

ワークフロー:

  1. ジャーナルの要件を確認: references/journal_requirements.md
  2. ジャーナル用にmatplotlibを設定:
    from style_presets import configure_for_journal
    configure_for_journal('nature', figure_width='single')
    
  3. 図を作成 (自動的に正しくサイズ調整されます)
  4. ジャーナル仕様でエクスポート:
    from figure_export import save_for_journal
    save_for_journal(fig, 'figure1', journal='nature', figure_type='line_art')
    

タスク 5: 既存の図を出版基準に合わせて修正する

チェックリストアプローチ (references/publication_guidelines.mdに完全なチェックリストあり):

  1. 解像度を確認: DPIがジャーナル要件を満たしているか確認
  2. ファイル形式を確認: プロットにはベクターを使用、画像にはTIFF/PNGを使用
  3. 色を確認: 色覚障害対応であることを確認
  4. フォントを確認: 最終サイズで最小 6~7 pt、サンセリフ
  5. ラベルを確認: すべての軸に単位付きでラベルが付いている
  6. サイズを確認: ジャーナルの列幅と一致
  7. グレースケールをテスト: 図がカラーなしで解釈可能
  8. チャートジャンクを削除: 不要なグリッド、3D効果、シャドウなし

タスク 6: 色覚障害対応ビジュアライゼーションを作成する

戦略:

  1. assets/color_palettes.py から承認されたパレットを使用
  2. 冗長エンコーディング (線スタイル、マーカー、パターン) を追加
  3. 色覚障害シミュレータでテスト
  4. グレースケール互換性を確保

例:

from color_palettes import apply_palette
import matplotlib.pyplot as plt

apply_palette('okabe_ito')

# Add redundant encoding beyond color
line_styles = ['-', '--', '-.', ':']
markers = ['o', 's', '^', 'v']

for i, (data, label) in enumerate(datasets):
    plt.plot(x, data, linestyle=line_styles[i % 4],
             marker=markers[i % 4], label=label)

統計的厳密性

常に以下を含める:

  • エラーバー (SD、SEM、またはCI - キャプションで指定)
  • サンプルサイズ (n) (図またはキャプション内)
  • 統計的有意性マーカー ()
  • 可能な場合は個別のデータポイント (サマリー統計のみではなく)

統計付きの例:

# Show individual points with summary statistics
ax.scatter(x_jittered, individual_points, alpha=0.4, s=8)
ax.errorbar(x, means, yerr=sems, fmt='o', capsize=3)

# Mark significance
ax.text(1.5, max_y * 1.1, '***', ha='center', fontsize=8)

異なるプロッティングライブラリの使用

Matplotlib

  • 出版の詳細に対する最も多くの制御
  • 複雑な複数パネル図に最適
  • 一貫したフォーマットのために提供されたスタイルファイルを使用
  • 広範な例については references/matplotlib_examples.md を参照

Seaborn

Seabornはmatplotlibの上に構築された、統計グラフィックスのためのハイレベルでデータセット指向のインターフェイスを提供します。matplotlibカスタマイズとの完全な互換性を維持しながら、最小限のコードで出版品質の統計ビジュアライゼーションを作成するのに優れています。

科学的ビジュアライゼーションの主な利点:

  • 自動統計推定と信頼区間
  • 複数パネル図 (ファセッティング) の組み込みサポート
  • デフォルトで色覚障害対応パレット
  • pandas DataFrameを使用したデータセット指向API
  • 変数をビジュアルプロパティにマップするセマンティック

出版スタイルでのクイックスタート

常にまずmatplotlib出版スタイルを適用してから、seabornを設定してください:

import seaborn as sns
import matplotlib.pyplot as plt
from style_presets import apply_publication_style

# Apply publication style
apply_publication_style('default')

# Configure seaborn for publication
sns.set_theme(style='ticks', context='paper', font_scale=1.1)
sns.set_palette('colorblind')  # Use colorblind-safe palette

# Create figure
fig, ax = plt.subplots(figsize=(3.5, 2.5))
sns.scatterplot(data=df, x='time', y='response', 
                hue='treatment', style='condition', ax=ax)
sns.despine()  # Remove top and right spines

出版用の一般的なプロットタイプ

統計比較:

# Box plot with individual points for transparency
fig, ax = plt.subplots(figsize=(3.5, 3))
sns.boxplot(data=df, x='treatment', y='response', 
            order=['Control', 'Low', 'High'], palette='Set2', ax=ax)
sns.stripplot(data=df, x='treatment', y='response',
              order=['Control', 'Low', 'High'], 
              color='black', alpha=0.3, size=3, ax=ax)
ax.set_ylabel('Response (μM)')
sns.despine()

分布分析:

# Violin plot with split comparison
fig, ax = plt.subplots(figsize=(4, 3))
sns.violinplot(data=df, x='timepoint', y='expression',
               hue='treatment', split=True, inner='quartile', ax=ax)
ax.set_ylabel('Gene Expression (AU)')
sns.despine()

相関行列:

# Heatmap with proper colormap and annotations
fig, ax = plt.subplots(figsize=(5, 4))
corr = df.corr()
mask = np.triu(np.ones_like(corr, dtype=bool))  # Show only lower triangle
sns.heatmap(corr, mask=mask, annot=True, fmt='.2f',
            cmap='RdBu_r', center=0, square=True,
            linewidths=1, cbar_kws={'shrink': 0.8}, ax=ax)
plt.tight_layout()

信頼バンド付きの時系列:

# Line plot with automatic CI calculation
fig, ax = plt.subplots(figsize=(5, 3))
sns.lineplot(data=timeseries, x='time', y='measurement',
             hue='treatment', style='replicate',
             errorbar=('ci', 95), markers=True, dashes=False, ax=ax)
ax.set_xlabel('Time (hours)')
ax.set_ylabel('Measurement (AU)')
sns.despine()

Seabornを使用した複数パネル図

自動ファセッティングに FacetGrid を使用:

# Create faceted plot
g = sns.relplot(data=df, x='dose', y='response',
                hue='treatment', col='cell_line', row='timepoint',
                kind='line', height=2.5, aspect=1.2,
                errorbar=('ci', 95), markers=True)
g.set_axis_labels('Dose (μM)', 'Response (AU)')
g.set_titles('{row_name} | {col_name}')
sns.despine()

# Save with correct DPI
from figure_export import save_publication_figure
save_publication_figure(g.figure, 'figure_facets', 
                       formats=['pdf', 'png'], dpi=300)

Seabornをmatplotlib subplotsと組み合わせ:

# Create custom multi-panel layout
fig, axes = plt.subplots(2, 2, figsize=(7, 6))

# Panel A: Scatter with regression
sns.regplot(data=df, x='predictor', y='response', ax=axes[0, 0])
axes[0, 0].text(-0.15, 1.05, 'A', transform=axes[0, 0].transAxes,
                fontsize=10, fontweight='bold')

# Panel B: Distribution comparison
sns.violinplot(data=df, x='group', y='value', ax=axes[0, 1])
axes[0, 1].text(-0.15, 1.05, 'B', transform=axes[0, 1].transAxes,
                fontsize=10, fontweight='bold')

# Panel C: Heatmap
sns.heatmap(correlation_data, cmap='viridis', ax=axes[1, 0])
axes[1, 0].text(-0.15, 1.05, 'C', transform=axes[1, 0].transAxes,
                fontsize=10, fontweight='bold')

# Panel D: Time series
sns.lineplot(data=timeseries, x='time', y='signal', 
             hue='condition', ax=axes[1, 1])
axes[1, 1].text(-0.15, 1.05, 'D', transform=axes[1, 1].transAxes,
                fontsize=10, fontweight='bold')

plt.tight_layout()
sns.despine()

出版用のカラーパレット

Seabornにはいくつかの色覚障害対応パレットが含まれています:

# Use built-in colorblind palette (recommended)
sns.set_palette('colorblind')

# Or specify custom colorblind-safe colors (Okabe-Ito)
okabe_ito = ['#E69F00', '#56B4E9', '#009E73', '#F0E442',
             '#0072B2', '#D55E00', '#CC79A7', '#000000']
sns.set_palette(okabe_ito)

# For heatmaps and continuous data
sns.heatmap(data, cmap='viridis')  # Perceptually uniform
sns.heatmap(corr, cmap='RdBu_r', center=0)  # Diverging, centered

Axes-levelおよびFigure-level関数の選択

Axes-level関数 (例: scatterplotboxplotheatmap):

  • カスタム複数パネルレイアウトを構築する場合に使用
  • ax= パラメータを受け入れる正確な配置のために
  • matplotlib subplotsへのより良い統合
  • 図の構成に対する多くの制御
fig, ax = plt.subplots(figsize=(3.5, 2.5))
sns.scatterplot(data=df, x='x', y='y', hue='group', ax=ax)

Figure-level関数 (例: relplotcatplotdisplot):

  • カテゴリ変数によるの自動ファセッティングのために使用
  • 一貫したスタイリングで完全な図を作成
  • 探索的分析に最適
  • サイズ設定に heightaspect を使用
g = sns.relplot(data=df, x='x', y='y', col='category', kind='scatter')

Seabornを使用した統計的厳密性

Seabornは自動的に不確実性を計算し、表示します:

# Line plot: shows mean ± 95% CI by default
sns.lineplot(data=df, x='time', y='value', hue='treatment',
             errorbar=('ci', 95))  # Can change to 'sd', 'se', etc.

# Bar plot: shows mean with bootstrapped CI
sns.barplot(data=df, x='treatment', y='response',
            errorbar=('ci', 95), capsize=0.1)

# Always specify error type in figure caption:
# "Error bars represent 95% confidence intervals"

出版対応Seaborn図のベストプラクティス

  1. 常に出版テーマを最初に設定:

    sns.set_theme(style='ticks', context='paper', font_scale=1.1)
    
  2. 色覚障害対応パレットを使用:

    sns.set_palette('colorblind')
    
  3. 不要な要素を削除:

    sns.despine()  # Remove top and right spines
    
  4. 図のサイズを適切に制御:

    # Axes-level: use matplotlib figsize
    fig, ax = plt.subplots(figsize=(3.5, 2.5))
    
    # Figure-level: use height and aspect
    g = sns.relplot(..., height=3, aspect=1.2)
    
  5. 可能な場合は個別のデータポイントを表示:

    sns.boxplot(...)  # Summary statistics
    sns.stripplot(..., alpha=0.3)  # Individual points
    
  6. 単位付きの適切なラベルを含める:

    ax.set_xlabel('Time (hours)')
    ax.set_ylabel('Expression (AU)')
    
  7. 正しい解像度でエクスポート:

    from figure_export import save_publication_figure
    save_publication_figure(fig, 'figure_name', 
                           formats=['pdf', 'png'], dpi=300)
    

高度なSeaborn技術

探索的分析のためのペアワイズ関係:

# Quick overview of all relationships
g = sns.pairplot(data=df, hue='condition', 
                 vars=['gene1', 'gene2', 'gene3'],
                 corner=True, diag_kind='kde', height=2)

階層的クラスタリングヒートマップ:

# Cluster samples and features
g = sns.clustermap(expression_data, method='ward', 
                   metric='euclidean', z_score=0,
                   cmap='RdBu_r', center=0, 
                   figsize=(10, 8), 
                   row_colors=condition_colors,
                   cbar_kws={'label': 'Z-score'})

周辺分布付きの結合分布:

# Bivariate distribution with context
g = sns.jointplot(data=df, x='gene1', y='gene2',
                  hue='treatment', kind='scatter',
                  height=6, ratio=4, marginal_kws={'kde': True})

一般的なSeabornの問題と解決策

問題:凡例がプロット領域の外側にある

g = sns.relplot(...)
g._legend.set_bbox_to_anchor((0.9, 0.5))

問題:ラベルの重複

plt.xticks(rotation=45, ha='right')
plt.tight_layout()

問題:テキストが最終サイズで小さすぎる

sns.set_context('paper', font_scale=1.2)  # Increase if needed

追加リソース

より詳細なseaborn情報については、以下を参照してください:

  • scientific-packages/seaborn/SKILL.md - 包括的なseabornドキュメント
  • scientific-packages/seaborn/references/examples.md - 実用的なユースケース
  • scientific-packages/seaborn/references/function_reference.md - 完全なAPIリファレンス
  • scientific-packages/seaborn/references/objects_interface.md - モダン宣言型API

Plotly

  • 探索用のインタラクティブな図
  • 出版用の静止画像にエクスポート
  • 出版品質のために設定:
fig.update_layout(
    font=dict(family='Arial, sans-serif', size=10),
    plot_bgcolor='white',
    # ... see matplotlib_examples.md Example 8
)
fig.write_image('figure.png', scale=3)  # scale=3 gives ~300 DPI

リソース

リファレンスディレクトリ

詳細な情報が必要に応じてこれらを読み込む:

  • publication_guidelines.md: 包括的なベストプラクティス

    • 解像度とファイル形式の要件
    • 描字ガイドライン
    • レイアウトと構成のルール
    • 統計的厳密性の要件
    • 完全な出版チェックリスト
  • color_palettes.md: カラー使用ガイド

    • RGB値を備えた色覚障害対応パレットの仕様
    • シーケンシャルおよび発散カラーマップの推奨
    • アクセシビリティのテスト手順
    • ドメイン固有パレット (ゲノミクス、顕微鏡)
  • journal_requirements.md: ジャーナル固有の仕様

    • 出版社による技術要件
    • ファイル形式とDPI仕様
    • 図の寸法要件
    • クイックリファレンステーブル
  • matplotlib_examples.md: 実用的なコード例

    • 10個の完全に動作する例
    • ラインプロット、棒グラフ、ヒートマップ、複数パネル図
    • ジャーナル固有の図の例
    • 各ライブラリのヒント (matplotlib、seaborn、plotly)

スクリプトディレクトリ

自動化のためにこれらのヘルパースクリプトを使用:

  • figure_export.py: エクスポートユーティリティ

    • save_publication_figure(): 正しいDPIで複数のフォーマットで保存
    • save_for_journal(): ジャーナル固有の要件を自動的に使用
    • check_figure_size(): 寸法がジャーナル仕様を満たしているか確認
    • 直接実行: python scripts/figure_export.py 例の場合
  • style_presets.py: 事前に設定されたスタイル

    • apply_publication_style(): プリセットスタイル (default、nature、science、cell) を適用
    • set_color_palette(): クイックパレットスイッチング
    • configure_for_journal(): ワンコマンドのジャーナル設定
    • 直接実行: python scripts/style_presets.py 例を参照

アセットディレクトリ

これらのファイルを図で使用:

  • color_palettes.py: インポート可能なカラー定義

    • Python定数としてのすべての推奨パレット
    • apply_palette() ヘルパー関数
    • ノートブック/スクリプトに直接インポート可能
  • Matplotlibスタイルファイル: plt.style.use() で使用

    • publication.mplstyle: 一般的な出版品質
    • nature.mplstyle: Natureジャーナルの仕様
    • presentation.mplstyle: ポスター/スライド用の大きなフォント

ワークフロー概要

出版図を作成するための推奨ワークフロー:

  1. 計画: ターゲットジャーナル、図タイプ、コンテンツを決定
  2. 設定: ジャーナルに対して適切なスタイルを適用
    from style_presets import configure_for_journal
    configure_for_journal('nature', 'single')
    
  3. 作成: 適切なラベル、色、統計で図を構築
  4. 確認: サイズ、フォント、色、アクセシビリティを確認
    from figure_export import check_figure_size
    check_figure_size(fig, journal='nature')
    
  5. エクスポート: 必要なフォーマットで保存
    from figure_export import save_for_journal
    save_for_journal(fig, 'figure1', 'nature', 'combination')
    
  6. レビュー: 最終サイズで原稿コンテキストで表示

よくある落とし穴を避ける

  1. フォントが小さすぎる: 最終サイズで印刷されたとき読めないテキスト
  2. JPEGフォーマット: グラフ/プロットにはJPEGを絶対に使用しないこと (アーティファクトが作成されます)
  3. 赤-緑色: 男性の約8%は識別できません
  4. 低解像度: 出版物でピクセル化された図
  5. ユニットがない: 常に軸に単位でラベルを付けること
  6. 3D効果: 知覚を歪める、完全に避けること
  7. チャートジャンク: 不要なグリッドライン、装飾を削除
  8. 切り詰められた軸: 科学的に正当化されない限り、棒グラフはゼロから開始
  9. スタイルの不一貫性: 同じ原稿の図全体で異なるフォント/色
  10. エラーバーなし: 常に不確実性を表示

最終チェックリスト

図を提出する前に、以下を確認してください:

  • 解像度がジャーナル要件を満たしている (300+ DPI)
  • ファイル形式が正しい (プロットはベクター、画像はTIFF)
  • 図のサイズがジャーナルの仕様と一致
  • すべてのテキストが最終サイズで読める (≥6 pt)
  • 色が色覚障害対応
  • 図がグレースケールで機能
  • すべての軸に単位でラベルが付いている
  • エラーバーが存在し、キャプションに定義がある
  • パネルラベルが存在し、一貫している
  • チャートジャンクまたは3D効果がない
  • すべての図全体でフォントが一貫
  • 統計的有意性が明確にマークされている
  • 凡例が明確で完全

このスキルを使用して、科学図が最高の出版基準を満たしながら、すべての読者にアクセス可能であることを確認してください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
davila7
リポジトリ
davila7/claude-code-templates
ライセンス
MIT
最終更新
不明

Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT

関連スキル

汎用その他⭐ リポ 1,982

superfluid

Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper

by LeoYeAI
汎用その他⭐ リポ 100

civ-finish-quotes

実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。

by huxiuhan
汎用その他⭐ リポ 1,110

nookplot

Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。

by BankrBot
汎用その他⭐ リポ 59

web3-polymarket

Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。

by elophanto
汎用その他⭐ リポ 52

ethskills

Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。

by jiayaoqijia
汎用その他⭐ リポ 44

xxyy-trade

このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。

by Jimmy-Holiday
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: davila7 · davila7/claude-code-templates · ライセンス: MIT