plotly
Pythonでインタラクティブな科学・統計データの可視化を行うライブラリ。散布図・折れ線グラフ・棒グラフ・ヒートマップ・3Dプロット・地図・統計分布・金融チャート・ダッシュボードなど、あらゆるグラフや図表を作成する際に使用します。簡易作成向けのPlotly Expressと細かいカスタマイズが可能なgraph objectsの両方に対応し、インタラクティブなHTMLや静的画像(PNG・PDF・SVG)として出力できます。
description の原文を見る
Interactive scientific and statistical data visualization library for Python. Use when creating charts, plots, or visualizations including scatter plots, line charts, bar charts, heatmaps, 3D plots, geographic maps, statistical distributions, financial charts, and dashboards. Supports both quick visualizations (Plotly Express) and fine-grained customization (graph objects). Outputs interactive HTML or static images (PNG, PDF, SVG).
SKILL.md 本文
Plotly
40以上のチャートタイプを使用して、出版品質の対話的な可視化を作成するためのPythonグラフィングライブラリです。
クイックスタート
Plotlyをインストール:
uv pip install plotly
Plotly Express(高レベルAPI)の基本的な使用方法:
import plotly.express as px
import pandas as pd
df = pd.DataFrame({
'x': [1, 2, 3, 4],
'y': [10, 11, 12, 13]
})
fig = px.scatter(df, x='x', y='y', title='My First Plot')
fig.show()
APIの選択
Plotly Express (px) を使用
快適なデフォルトを備えた標準的な可視化をすばやく作成する場合:
- pandas DataFramesで作業している
- 一般的なチャートタイプ(散布図、折れ線グラフ、棒グラフ、ヒストグラムなど)を作成している
- 自動的な色のエンコーディングと凡例が必要
- 最小限のコード(1~5行)が必要
完全なガイドは reference/plotly-express.md を参照してください。
グラフオブジェクト (go) を使用
細粒度の制御とカスタム可視化が必要な場合:
- Plotly Expressにないチャートタイプ(3Dメッシュ、等値面、複雑な金融チャート)
- 複雑なマルチトレース図を一から構築している
- 個別コンポーネントの精密な制御が必要
- カスタム図形と注釈を使用した特殊な可視化を作成している
完全なガイドは reference/graph-objects.md を参照してください。
注: Plotly Expressはグラフオブジェクトのfigureを返すため、アプローチを組み合わせることができます:
fig = px.scatter(df, x='x', y='y')
fig.update_layout(title='Custom Title') # pxフィギュアでgoメソッドを使用
fig.add_hline(y=10) # 図形を追加
コア機能
1. チャートタイプ
Plotlyは40以上のチャートタイプをカテゴリ別に整理してサポートしています:
基本的なチャート: 散布図、折れ線グラフ、棒グラフ、円グラフ、面グラフ、バブルチャート
統計チャート: ヒストグラム、箱ひげ図、バイオリンプロット、分布、誤差棒
科学チャート: ヒートマップ、等高線、三成分図、画像表示
金融チャート: ローソク足、OHLC、ウォーターフォール、ファンネル、時系列
マップ: 散布図マップ、コロプレス、密度マップ(地理的可視化)
3Dチャート: 3D散布図、サーフェス、メッシュ、コーン、ボリューム
特殊: サンバースト、ツリーマップ、サンキー、平行座標、ゲージ
すべてのチャートタイプの詳細な例と使用方法については、reference/chart-types.md を参照してください。
2. レイアウトとスタイリング
サブプロット: 共有軸を持つマルチプロット図を作成:
from plotly.subplots import make_subplots
import plotly.graph_objects as go
fig = make_subplots(rows=2, cols=2, subplot_titles=('A', 'B', 'C', 'D'))
fig.add_trace(go.Scatter(x=[1, 2], y=[3, 4]), row=1, col=1)
テンプレート: 統一されたスタイリングを適用:
fig = px.scatter(df, x='x', y='y', template='plotly_dark')
# 組み込み: plotly_white, plotly_dark, ggplot2, seaborn, simple_white
カスタマイズ: 外観のあらゆる側面を制御:
- 色(離散シーケンス、連続スケール)
- フォントとテキスト
- 軸(範囲、ティック、グリッド)
- 凡例
- マージンとサイズ
- 注釈と図形
レイアウトとスタイリングの完全なオプションについては、reference/layouts-styling.md を参照してください。
3. インタラクティビティ
組み込みのインタラクティブ機能:
- カスタマイズ可能なデータを含むホバーツールチップ
- パンとズーム
- 凡例の切り替え
- ボックス/ラッソ選択
- 時系列のレンジスライダー
- ボタンとドロップダウン
- アニメーション
# カスタムホバーテンプレート
fig.update_traces(
hovertemplate='<b>%{x}</b><br>Value: %{y:.2f}<extra></extra>'
)
# レンジスライダーを追加
fig.update_xaxes(rangeslider_visible=True)
# アニメーション
fig = px.scatter(df, x='x', y='y', animation_frame='year')
完全なインタラクティビティガイドについては、reference/export-interactivity.md を参照してください。
4. エクスポートオプション
対話的なHTML:
fig.write_html('chart.html') # 完全なスタンドアロン
fig.write_html('chart.html', include_plotlyjs='cdn') # より小さなファイル
静止画(kaleidoが必要):
uv pip install kaleido
fig.write_image('chart.png') # PNG
fig.write_image('chart.pdf') # PDF
fig.write_image('chart.svg') # SVG
完全なエクスポートオプションについては、reference/export-interactivity.md を参照してください。
よくあるワークフロー
科学データの可視化
import plotly.express as px
# トレンドラインを含む散布図
fig = px.scatter(df, x='temperature', y='yield', trendline='ols')
# マトリックスからのヒートマップ
fig = px.imshow(correlation_matrix, text_auto=True, color_continuous_scale='RdBu')
# 3Dサーフェスプロット
import plotly.graph_objects as go
fig = go.Figure(data=[go.Surface(z=z_data, x=x_data, y=y_data)])
統計分析
# 分布の比較
fig = px.histogram(df, x='values', color='group', marginal='box', nbins=30)
# すべてのポイント付き箱ひげ図
fig = px.box(df, x='category', y='value', points='all')
# バイオリンプロット
fig = px.violin(df, x='group', y='measurement', box=True)
時系列と金融
# レンジスライダー付き時系列
fig = px.line(df, x='date', y='price')
fig.update_xaxes(rangeslider_visible=True)
# ローソク足チャート
import plotly.graph_objects as go
fig = go.Figure(data=[go.Candlestick(
x=df['date'],
open=df['open'],
high=df['high'],
low=df['low'],
close=df['close']
)])
マルチプロットダッシュボード
from plotly.subplots import make_subplots
import plotly.graph_objects as go
fig = make_subplots(
rows=2, cols=2,
subplot_titles=('Scatter', 'Bar', 'Histogram', 'Box'),
specs=[[{'type': 'scatter'}, {'type': 'bar'}],
[{'type': 'histogram'}, {'type': 'box'}]]
)
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[4, 5, 6]), row=1, col=1)
fig.add_trace(go.Bar(x=['A', 'B'], y=[1, 2]), row=1, col=2)
fig.add_trace(go.Histogram(x=data), row=2, col=1)
fig.add_trace(go.Box(y=data), row=2, col=2)
fig.update_layout(height=800, showlegend=False)
Dashとの統合
対話的なWebアプリケーションの場合は、Dash(Plotlyのwebアプリフレームワーク)を使用します:
uv pip install dash
import dash
from dash import dcc, html
import plotly.express as px
app = dash.Dash(__name__)
fig = px.scatter(df, x='x', y='y')
app.layout = html.Div([
html.H1('Dashboard'),
dcc.Graph(figure=fig)
])
app.run_server(debug=True)
リファレンスファイル
plotly-express.md- 快速な可視化のためのハイレベルAPIgraph-objects.md- 細粒度の制御のためのローレベルAPIchart-types.md- 例を含む40以上のチャートタイプの完全なカタログlayouts-styling.md- サブプロット、テンプレート、色、カスタマイズexport-interactivity.md- エクスポートオプションとインタラクティブ機能
追加リソース
- 公式ドキュメント: https://plotly.com/python/
- APIリファレンス: https://plotly.com/python-api-reference/
- コミュニティフォーラム: https://community.plotly.com/
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- davila7
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。