Pythonでインタラクティブなグラフを!plotly入門
Pythonでデータ分析や可視化を行う際、必ずと言っていいほど名前が挙がるライブラリの一つがplotlyです。 MatplotlibやSeabornといったライブラリも強力ですが、plotlyはインタラクティブ性に優れており、ブラウザ上でグラフを拡大・縮小したり、特定のデータを強調表示したり、マウスオーバーで詳細情報を確認したりといった操作が可能です。 このコラムでは、plotlyの基本的な使い方を、初心者の方にもわかりやすく解説していきます。
plotlyとは?
plotlyは、Pythonだけでなく、JavaScript、R、Juliaなど様々な言語に対応したグラフ描画ライブラリです。 オンラインでインタラクティブなグラフを作成できるのが特徴で、ウェブアプリケーションへの組み込みや、レポート作成に最適です。
plotlyのインストール
まずは、plotlyをインストールしましょう。 コマンドプロンプトやターミナルで以下のコマンドを実行します。
pip install plotly
基本的な使い方:散布図を描画する
plotlyの基本を学ぶために、簡単な散布図を描画してみましょう。 まずは必要なライブラリをインポートします。
import plotly.express as px
今回はplotly.express
という、より手軽にplotlyを利用できるモジュールを使用します。 次に、サンプルデータを用意します。
data = {
'x': [1, 2, 3, 4, 5],
'y': [2, 4, 1, 3, 5]
}
そして、このデータを使って散布図を描画します。
fig = px.scatter(data, x='x', y='y', title='サンプル散布図')
fig.show()
このコードを実行すると、ブラウザ上に散布図が表示されます。 グラフにマウスカーソルを合わせると、各点の座標が表示され、グラフの拡大・縮小、軸の移動などができます。
コードの解説
import plotly.express as px
:plotly.express
モジュールをpx
という名前でインポートしています。data = { ... }
: 辞書形式でx軸とy軸のデータを定義しています。fig = px.scatter(data, x='x', y='y', title='サンプル散布図')
:px.scatter()
関数を使って散布図を作成しています。data
引数にデータ、x
引数にx軸のキー、y
引数にy軸のキー、title
引数にグラフのタイトルを指定しています。fig.show()
: 作成したグラフを表示します。
より高度なグラフの作成
plotlyは散布図だけでなく、折れ線グラフ、棒グラフ、ヒストグラム、円グラフなど、様々な種類のグラフを作成できます。 また、色分け、サイズ調整、ラベルの追加など、グラフの見た目を細かくカスタマイズすることも可能です。
例えば、折れ線グラフを作成するには、px.line()
関数を使用します。
data = {
'x': [1, 2, 3, 4, 5],
'y': [2, 4, 1, 3, 5]
}
fig = px.line(data, x='x', y='y', title='サンプル折れ線グラフ')
fig.show()
棒グラフを作成するには、px.bar()
関数を使用します。
data = {
'x': ['A', 'B', 'C', 'D', 'E'],
'y': [2, 4, 1, 3, 5]
}
fig = px.bar(data, x='x', y='y', title='サンプル棒グラフ')
fig.show()
plotlyのメリット
- インタラクティブ性: plotlyの最大のメリットは、グラフがインタラクティブであることです。 ブラウザ上でグラフを操作できるため、データの詳細な分析や、特定のデータの強調表示が容易に行えます。
- 豊富なグラフの種類: plotlyは、様々な種類のグラフを作成できます。 散布図、折れ線グラフ、棒グラフ、ヒストグラム、円グラフなど、データの種類や目的に合わせて最適なグラフを選択できます。
- カスタマイズ性: plotlyは、グラフの見た目を細かくカスタマイズできます。 色分け、サイズ調整、ラベルの追加など、グラフを自由にデザインできます。
- ウェブアプリケーションへの組み込み: plotlyのグラフは、ウェブアプリケーションに簡単に組み込むことができます。 データ分析の結果を、ウェブ上でインタラクティブに共有することができます。
まとめ
plotlyは、Pythonでインタラクティブなグラフを作成するための強力なライブラリです。 初心者でも比較的簡単に利用でき、様々な種類のグラフを作成できます。 データ分析の結果をより効果的に伝えたい場合や、ウェブアプリケーションにインタラクティブなグラフを組み込みたい場合に、plotlyは非常に役立つでしょう。ぜひplotlyを使いこなして、データ可視化の世界を広げてみてください。plotlyの公式サイト(https://plotly.com/python/)には、さらに詳しい情報や豊富なサンプルコードが掲載されていますので、ぜひ参考にしてください。
◯月額4,000円で質問し放題!!
◯完全オンライン
◯翌日までには必ず返信
◯挫折しない独自の学習メソッド
◯圧倒的高評価!!
◯テキストベースで時間を選ばない
詳細はこちら
興味がある方はまず質問だけでもどうぞ!
