Pythonを使ったデータ分析やレポート作成において、「グラフによる可視化」は欠かせない要素です。見た目にわかりやすく、データの傾向や違いを一目で伝えられるからです。
本記事では、Pythonで人気の高いグラフ描画ライブラリを3つ紹介します。それぞれの特徴や得意なこと、使いどころを初心者にもわかりやすく解説します。
matplotlib|基本を押さえるならこれ
matplotlib(マットプロットリブ)は、Pythonで最も広く使われているグラフ描画ライブラリです。
折れ線グラフ、棒グラフ、円グラフ、散布図など、基本的なグラフは一通り作成できます。
カスタマイズ性も非常に高く、フォントの種類、色、軸の範囲、タイトルやラベルなど細かい設定が可能です。
一方で、初心者にとってはコードがやや長くなりがちで、スタイル調整に慣れるまで少し時間がかかるかもしれません。
おすすめポイント
- 基本のグラフを幅広く作れる
- 出力形式が豊富(画像ファイル、PDFなど)
- 書籍やネットの情報が多く、学習しやすい
こんな人におすすめ
- データ分析を始めたばかりの人
- グラフをきっちり自分の好みに仕上げたい人
matplotlibのコード例:
import matplotlib.pyplot as plt
# データ
labels = ['A', 'B', 'C', 'D']
values = [23, 45, 56, 78]
# 棒グラフの作成
plt.bar(labels, values, color='skyblue')
plt.title('matplotlibで棒グラフ')
plt.xlabel('カテゴリー')
plt.ylabel('値')
plt.grid(True, axis='y')
plt.show()
seaborn|統計的なグラフをきれいに描く
seaborn(シーボーン)は、matplotlibをベースにした高機能なグラフ描画ライブラリです。
matplotlibと比べて、コード量が少なく済むことが多く、統計的なグラフを簡単に、しかも美しく描画できます。
例えば、ヒストグラム、箱ひげ図、バイオリンプロット、散布図行列など、分析向けのグラフが豊富にそろっています。データセットの構造を直感的に把握したいときに非常に便利です。
おすすめポイント
- 少ないコードで整ったグラフが作れる
- 統計的なグラフに強い
- データフレーム(pandas)との相性が抜群
こんな人におすすめ
- 分析に重点を置くデータサイエンティスト
- 時間をかけずに整ったグラフを出力したい人
seabornのコード例:
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# データフレームを作成
data = pd.DataFrame({
'カテゴリ': ['A', 'B', 'C', 'D'],
'値': [23, 45, 56, 78]
})
# 棒グラフの作成
sns.barplot(x='カテゴリ', y='値', data=data, palette='pastel')
plt.title('seabornで棒グラフ')
plt.grid(True, axis='y')
plt.show()
plotly|インタラクティブなWeb対応グラフ
plotly(プロットリー)は、インタラクティブなグラフを作成できる最新型のライブラリです。
マウスホバーで詳細を表示したり、拡大・縮小、データの絞り込みなどがブラウザ上で行えるのが大きな特徴です。
HTML形式で出力できるため、ダッシュボードやWebアプリケーションにも組み込みやすく、見栄えの良さも抜群です。
グラフを魅せる場面、特にプレゼンやWebレポートなどで活躍します。
おすすめポイント
- インタラクティブな操作が可能
- Webとの親和性が高い
- グラフの見た目が美しい
こんな人におすすめ
- Webレポートやダッシュボードを作りたい人
- グラフの操作性を重視する人
plotlyのコード例:
import plotly.graph_objects as go
# データ
labels = ['A', 'B', 'C', 'D']
values = [23, 45, 56, 78]
# 棒グラフの作成
fig = go.Figure(data=[
go.Bar(x=labels, y=values, marker_color='orange')
])
fig.update_layout(
title='plotlyで棒グラフ',
xaxis_title='カテゴリー',
yaxis_title='値'
)
# ブラウザでインタラクティブ表示
fig.show()
まとめ|目的に応じて使い分ける
ライブラリ | 特徴 | 得意なこと | 向いている人 |
---|---|---|---|
matplotlib | 基本のグラフが豊富。自由度が高い | 折れ線・棒グラフなどの定番可視化 | 基本からしっかり学びたい人 |
seaborn | 統計的グラフを簡単&美しく描画 | 分布や相関の可視化 | 少ないコードで綺麗に描きたい人 |
plotly | インタラクティブなWeb対応グラフ | プレゼンやWeb表示に最適 | 魅せるグラフを作りたい人 |
どのライブラリにも長所があります。目的や用途に応じて、うまく使い分けることで、より伝わるデータ可視化が可能になります。まずはmatplotlibやseabornで基本を押さえ、慣れてきたらplotlyにも挑戦してみると良いでしょう。
特にplotly
はJupyter NotebookやWebアプリケーションと組み合わせると力を発揮します。目的やシーンに応じて、使い分けてみてください。さらに応用したい場合は、各ライブラリのドキュメントを活用するのがおすすめです。