Plotly Expressの基礎
グラフをすばやく作成します
「Plotly Expressの基礎」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。
Plotly Expressとは
Plotly Express(pxとしてインポートします)は、ほとんどコードを書かずにインタラクティブなグラフを作成できる高水準インターフェースです。通常は、1回の関数呼び出しで完成度の高いFigureが生成されます。
Matplotlibがデフォルトでは静的なのに対し、PlotlyのFigureはインタラクティブです。ブラウザ上でカーソルを合わせたり、ズームしたり、パンしたりできます。
tidyデータの考え方
Plotly Expressはtidyデータで最も効果を発揮します。各行が1つの観測値を表し、各列が1つの変数を表すデータです。列名を指定して、グラフの各要素に割り当てます。
tidyデータセットは、辞書のリストとしてモデル化できます。
rows = [
{'country': 'A', 'year': 2020, 'gdp': 100},
{'country': 'A', 'year': 2021, 'gdp': 110},
{'country': 'B', 'year': 2020, 'gdp': 80},
]
for r in rows:
print(r['country'], r['year'], r['gdp'])最初のグラフ
折れ線グラフは1回の呼び出しで作成できます。px.line(df, x='year', y='gdp', color='country')のように指定します。color引数によって、データが国ごとに1本の折れ線へ自動的に分割され、凡例も作成されます。
系列ごとに手動でループする必要はありません。
よく使うExpress関数
グラフの種類ごとに専用の関数があります。
px.line傾向px.barカテゴリの比較px.scatter関係px.histogram分布px.pie全体に占める割合
どの関数も、同じ列マッピング形式を使います。
列を視覚表現にマッピングする
Expressの強みは、列を視覚チャネル、つまり x、y、color、size、symbol、facet_colに割り当てられることです。各引数には列名を指定します。
どの列をどこに割り当てるかが、主な設計上の判断になります。
encodings = {'x': 'year', 'y': 'gdp', 'color': 'country', 'size': 'population'}
for channel, column in encodings.items():
print(channel.ljust(6), '<-', column)色とサイズを付けた散布図
1回の散布図呼び出しで4つの変数を表示できます。px.scatter(df, x='gdp', y='life', color='continent', size='population')のように記述します。これは有名なGapminderのバブルチャートを1行で作成する方法です。
Expressは適切なスケールと凡例を自動的に選択します。
ファセット
ファセット表示では、facet_col='region'またはfacet_rowを使って、カテゴリごとに1つのチャートを小さな複数チャートのグリッドに分割します。各パネルでスケールが共有されるため、比較しやすくなります。
パネルの数は、カテゴリの一意な値の数と同じです。
regions = ['North', 'South', 'East', 'West']
print('facet_col=region produces', len(regions), 'panels')
for r in regions:
print(' panel:', r)組み込みサンプルデータ
Plotlyには、px.dataを通じて練習用のデータセットが用意されています。たとえば、px.data.iris()やpx.data.gapminder()です。これらはそのままプロットできる整然データを返すため、ファイルを探さずに実験できます。
Figureオブジェクト
Expressのすべての呼び出しはFigureオブジェクトを返します。fig.show()で表示したり、fig.update_layout(...)で調整したり、保存したりできます。Expressは優れた出発点となるFigureを作成し、そこからさらに細かく調整できます。
ExpressとGraph Objects
内部では、Expressはgraph objects(plotly.graph_objects)を構築しています。素早く作成したい場合はExpressを使い、Expressで公開されていない細かな制御が必要な場合はgraph objectsを直接使います。どちらも同じインタラクティブな出力を生成します。
Expressでのタイトルとラベル
Expressではtitle引数と、表示用の列名を変更するlabels辞書を指定できます。たとえば、labels={'gdp': 'GDP per capita'}のように記述します。元のデータを変更せずに、読みやすい名前を設定できます。
これにより、データ列名は簡潔なまま、チャートは分かりやすくできます。
理解度チェック
Plotly Expressについての理解度を確認しましょう。
まとめ
Plotly Expressの基本を学びました。
- チャートごとに1回の関数呼び出し(
px.line、px.bar、px.scatterなど)を使う - データは整然データにし、1行を1つの観測値にする
- 列をチャネルに割り当てる:
x、y、color、size、facet_col - 各呼び出しは、さらにカスタマイズできるインタラクティブな
Figureを返す
よくある質問
「Plotly Expressの基礎」レッスンは無料ですか?
はい。「Plotly Expressの基礎」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。
「Plotly Expressの基礎」で何を学びますか?
グラフをすばやく作成します ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Plotly Expressの基礎」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython Academyレッスンでコードを書いて実行できますか?
はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Plotly Expressの基礎
- インタラクティブ機能
- ダッシュボードの概念
- エクスポートと埋め込み