Matplotlib

「Matplotlib」は、Pythonにおけるデータ可視化のための代表的なライブラリであり、科学技術計算、統計分析、機械学習の分野で広く使用されています。以下にMatplotlibの基本的な特徴、構造、主要な機能について詳しく説明します。


1. 概要

Matplotlibは、2次元(および簡易的な3次元)のグラフを描画するためのライブラリであり、特にmatplotlib.pyplotモジュールがよく使用されます。pyplotはMATLABのようなインターフェースを提供し、簡潔なコードで図やグラフを描くことが可能です。

python
import matplotlib.pyplot as plt

2. 主な特徴

  • 多彩なグラフの種類:折れ線グラフ、棒グラフ、散布図、ヒストグラム、箱ひげ図、円グラフ、等高線図、3Dプロットなど。

  • 高度なカスタマイズ性:色、スタイル、ラベル、軸、凡例、タイトルなどを細かく設定可能。

  • Jupyter Notebookとの連携%matplotlib inlineを使用することでNotebook上に直接グラフを表示可能。

  • 他ライブラリとの統合:NumPyやPandas、Seaborn、scikit-learnとの連携が容易。


3. 基本的な使用方法

折れ線グラフ(Line Plot)

python
import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [10, 20, 25, 30] plt.plot(x, y) plt.title("Line Graph") plt.xlabel("X Axis") plt.ylabel("Y Axis") plt.grid(True) plt.show()

散布図(Scatter Plot)

python
plt.scatter(x, y) plt.title("Scatter Plot") plt.show()

棒グラフ(Bar Chart)

python
categories = ['A', 'B', 'C'] values = [5, 7, 3] plt.bar(categories, values) plt.title("Bar Chart") plt.show()

ヒストグラム(Histogram)

python
import numpy as np data = np.random.randn(1000) plt.hist(data, bins=30) plt.title("Histogram") plt.show()

4. グラフのカスタマイズ

  • color, linestyle, linewidth, markerで線や点のスタイルを変更可能

  • plt.legend()で凡例の追加

  • plt.xticks(), plt.yticks()で軸目盛のカスタマイズ

  • plt.subplots()で複数のグラフを一つの図に表示

例:

python
plt.plot(x, y, color='red', linestyle='--', marker='o', label='Sample') plt.legend()

5. 保存

グラフをファイルに保存するにはsavefig()関数を使用します。

python
plt.savefig("graph.png", dpi=300)

6. Matplotlibと機械学習

Matplotlibは、機械学習モデルの可視化や評価においても不可欠です。以下のような目的で使用されます:

  • データの分布や傾向の視覚化

  • モデルの学習曲線(損失関数、精度など)の表示

  • 混同行列やROC曲線など評価指標の可視化

例:学習曲線の描画

python
epochs = [1, 2, 3, 4, 5] loss = [0.9, 0.6, 0.4, 0.3, 0.25] plt.plot(epochs, loss) plt.title("Training Loss") plt.xlabel("Epoch") plt.ylabel("Loss") plt.show()

まとめ

Matplotlibは、Pythonのデータ分析や機械学習において極めて重要な可視化ライブラリであり、以下の点で優れています:

  • 幅広いグラフの種類をサポート

  • 柔軟なカスタマイズ機能

  • NumPyやPandasなどの他ライブラリと親和性が高い

  • 分析結果を視覚的に表現し、理解と説明を容易にする

生成日:2025/05/03