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)
ヒートマップ/連続データの場合:
- 知覚的に均一なカラーマップを使用:
viridis、plasma、cividis - 赤-緑の発散マップを避ける (
PuOr、RdBu、BrBGを代わりに使用) 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. 複数パネル図
ベストプラクティス:
- パネルを太字文字でラベル付け: A、B、C (ほとんどのジャーナルは大文字、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を参照。
主な手順:
- 出版スタイルを適用する
- ターゲットジャーナルに合わせた適切な図サイズを設定する
- 色覚障害対応の色を使用する
- 正しい表現 (SEM、SD、またはCI) でエラーバーを追加する
- 単位付きで軸をラベル付けする
- 不要なスパインを削除する
- ベクターフォーマットで保存する
自動信頼区間をするための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を参照。
主な手順:
- 柔軟なレイアウトのために
GridSpecを使用する - パネル全体で一貫したスタイルを確認する
- 太字のパネルラベル (A、B、C など) を追加する
- 関連するパネルを配置する
- すべてのテキストが最終サイズで読可能であることを確認する
タスク 3: 適切なカラーマップでヒートマップを作成する
完全なコードについては references/matplotlib_examples.md 例4を参照。
主な手順:
- 知覚的に均一なカラーマップを使用 (
viridis、plasma、cividis) - ラベル付きカラーバーを含める
- 発散データの場合、色覚障害対応の発散マップを使用 (
RdBu_r、PuOr) - 発散マップに対して適切な中央値を設定する
- グレースケールでの外観をテストする
相関行列での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: 特定のジャーナルの図を準備する
ワークフロー:
- ジャーナルの要件を確認:
references/journal_requirements.md - ジャーナル用にmatplotlibを設定:
from style_presets import configure_for_journal configure_for_journal('nature', figure_width='single') - 図を作成 (自動的に正しくサイズ調整されます)
- ジャーナル仕様でエクスポート:
from figure_export import save_for_journal save_for_journal(fig, 'figure1', journal='nature', figure_type='line_art')
タスク 5: 既存の図を出版基準に合わせて修正する
チェックリストアプローチ (references/publication_guidelines.mdに完全なチェックリストあり):
- 解像度を確認: DPIがジャーナル要件を満たしているか確認
- ファイル形式を確認: プロットにはベクターを使用、画像にはTIFF/PNGを使用
- 色を確認: 色覚障害対応であることを確認
- フォントを確認: 最終サイズで最小 6~7 pt、サンセリフ
- ラベルを確認: すべての軸に単位付きでラベルが付いている
- サイズを確認: ジャーナルの列幅と一致
- グレースケールをテスト: 図がカラーなしで解釈可能
- チャートジャンクを削除: 不要なグリッド、3D効果、シャドウなし
タスク 6: 色覚障害対応ビジュアライゼーションを作成する
戦略:
assets/color_palettes.pyから承認されたパレットを使用- 冗長エンコーディング (線スタイル、マーカー、パターン) を追加
- 色覚障害シミュレータでテスト
- グレースケール互換性を確保
例:
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関数 (例: scatterplot、boxplot、heatmap):
- カスタム複数パネルレイアウトを構築する場合に使用
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関数 (例: relplot、catplot、displot):
- カテゴリ変数によるの自動ファセッティングのために使用
- 一貫したスタイリングで完全な図を作成
- 探索的分析に最適
- サイズ設定に
heightとaspectを使用
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図のベストプラクティス
-
常に出版テーマを最初に設定:
sns.set_theme(style='ticks', context='paper', font_scale=1.1) -
色覚障害対応パレットを使用:
sns.set_palette('colorblind') -
不要な要素を削除:
sns.despine() # Remove top and right spines -
図のサイズを適切に制御:
# 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) -
可能な場合は個別のデータポイントを表示:
sns.boxplot(...) # Summary statistics sns.stripplot(..., alpha=0.3) # Individual points -
単位付きの適切なラベルを含める:
ax.set_xlabel('Time (hours)') ax.set_ylabel('Expression (AU)') -
正しい解像度でエクスポート:
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: ポスター/スライド用の大きなフォント
ワークフロー概要
出版図を作成するための推奨ワークフロー:
- 計画: ターゲットジャーナル、図タイプ、コンテンツを決定
- 設定: ジャーナルに対して適切なスタイルを適用
from style_presets import configure_for_journal configure_for_journal('nature', 'single') - 作成: 適切なラベル、色、統計で図を構築
- 確認: サイズ、フォント、色、アクセシビリティを確認
from figure_export import check_figure_size check_figure_size(fig, journal='nature') - エクスポート: 必要なフォーマットで保存
from figure_export import save_for_journal save_for_journal(fig, 'figure1', 'nature', 'combination') - レビュー: 最終サイズで原稿コンテキストで表示
よくある落とし穴を避ける
- フォントが小さすぎる: 最終サイズで印刷されたとき読めないテキスト
- JPEGフォーマット: グラフ/プロットにはJPEGを絶対に使用しないこと (アーティファクトが作成されます)
- 赤-緑色: 男性の約8%は識別できません
- 低解像度: 出版物でピクセル化された図
- ユニットがない: 常に軸に単位でラベルを付けること
- 3D効果: 知覚を歪める、完全に避けること
- チャートジャンク: 不要なグリッドライン、装飾を削除
- 切り詰められた軸: 科学的に正当化されない限り、棒グラフはゼロから開始
- スタイルの不一貫性: 同じ原稿の図全体で異なるフォント/色
- エラーバーなし: 常に不確実性を表示
最終チェックリスト
図を提出する前に、以下を確認してください:
- 解像度がジャーナル要件を満たしている (300+ DPI)
- ファイル形式が正しい (プロットはベクター、画像はTIFF)
- 図のサイズがジャーナルの仕様と一致
- すべてのテキストが最終サイズで読める (≥6 pt)
- 色が色覚障害対応
- 図がグレースケールで機能
- すべての軸に単位でラベルが付いている
- エラーバーが存在し、キャプションに定義がある
- パネルラベルが存在し、一貫している
- チャートジャンクまたは3D効果がない
- すべての図全体でフォントが一貫
- 統計的有意性が明確にマークされている
- 凡例が明確で完全
このスキルを使用して、科学図が最高の出版基準を満たしながら、すべての読者にアクセス可能であることを確認してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- davila7
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT
関連スキル
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
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。