Matplotlib:Pythonでデータ可視化を実現する強力なライブラリ

Matplotlibは、Pythonで2Dプロットを作成するための広く使用されているライブラリです。データの可視化を行うための強力なツールセットを提供し、科学計算やデータ分析の分野で特に重宝されています。

Matplotlibとは

Matplotlibは、Pythonでデータの視覚化を行うためのライブラリです。特にmatplotlib.pyplotモジュールは、使いやすいインターフェースを提供し、さまざまな種類のプロットを簡単に作成できます。

インストール

まず、Matplotlibを使用するには、ライブラリをインストールする必要があります。以下のコマンドを使用します:

pip install Matplotlib

基本的なプロット

Matplotlibの基本的な機能は、折れ線グラフや散布図などのプロットを作成することです。

import matplotlib.pyplot as plt

# データの作成
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# プロットの作成
plt.plot(x, y)

# タイトルとラベルの設定
plt.title("基本的な折れ線グラフ")
plt.xlabel("x軸")
plt.ylabel("y軸")

# グラフの表示
plt.show()

散布図

散布図は、データの分布や関係を視覚化するのに役立ちます。

import matplotlib.pyplot as plt

# データの作成
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 散布図の作成
plt.scatter(x, y)

# タイトルとラベルの設定
plt.title("基本的な散布図")
plt.xlabel("x軸")
plt.ylabel("y軸")

# グラフの表示
plt.show()

ヒストグラム

ヒストグラムは、データの分布を視覚化するのに役立ちます。

import matplotlib.pyplot as plt
import numpy as np

# ランダムなデータの生成
data = np.random.randn(1000)

# ヒストグラムの作成
plt.hist(data, bins=30, alpha=0.7, color='blue')

# タイトルとラベルの設定
plt.title("基本的なヒストグラム")
plt.xlabel("値")
plt.ylabel("頻度")

# グラフの表示
plt.show()

棒グラフ

棒グラフは、カテゴリカルデータを視覚化するのに役立ちます。

import matplotlib.pyplot as plt

# データの作成
categories = ['A', 'B', 'C', 'D', 'E']
values = [5, 7, 3, 8, 4]

# 棒グラフの作成
plt.bar(categories, values, color='green')

# タイトルとラベルの設定
plt.title("基本的な棒グラフ")
plt.xlabel("カテゴリ")
plt.ylabel("値")

# グラフの表示
plt.show()

サブプロット

一つの図に複数のプロットを配置することもできます。これをサブプロットと呼びます。

import matplotlib.pyplot as plt
import numpy as np

# データの作成
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# サブプロットの作成
fig, axs = plt.subplots(2)

# 1つ目のプロット
axs[0].plot(x, y1, 'r')
axs[0].set_title('サインカーブ')

# 2つ目のプロット
axs[1].plot(x, y2, 'b')
axs[1].set_title('コサインカーブ')

# 図全体のタイトルの設定
fig.suptitle('サブプロットの例')

# グラフの表示
plt.show()

実例

例題1: 株価データの可視化

以下の例では、PandasとMatplotlibを使用して、株価データを可視化します。

import pandas as pd
import matplotlib.pyplot as plt

# 株価データの作成
data = {
    '日付': pd.date_range(start='2023-01-01', periods=10),
    '価格': [150, 152, 148, 149, 153, 155, 157, 158, 160, 162]
}

df = pd.DataFrame(data)

# 日付をインデックスに設定
df.set_index('日付', inplace=True)

# プロットの作成
plt.plot(df.index, df['価格'], marker='o')

# タイトルとラベルの設定
plt.title("株価の推移")
plt.xlabel("日付")
plt.ylabel("価格")

# グラフの表示
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

例題2: 複数のデータシリーズの可視化

以下の例では、Matplotlibを使用して複数のデータシリーズを可視化します。

import matplotlib.pyplot as plt
import numpy as np

# データの作成
x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# プロットの作成
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')

# タイトルとラベルの設定
plt.title("サインカーブとコサインカーブ")
plt.xlabel("x軸")
plt.ylabel("y軸")

# 凡例の表示
plt.legend()

# グラフの表示
plt.show()
タイトルとURLをコピーしました