PR

matplotlibの応用: グラフを複数配置する

matplotlib

本記事では、Pythonのデータ可視化ライブラリであるmatplotlibのsubplot機能に焦点を当て、その基本的な使い方や応用例を解説します。subplotを使用することで、1つの図に複数のプロットを配置して、データの比較や関係性の可視化を容易に行うことができます。以下では、具体的なコード例を交えながら、subplotの使い方を詳しく解説します。

スポンサーリンク

matplotlibとは

プログラミング言語Pythonおよびその科学計算用ライブラリNumPyのためのグラフ描画ライブラリである。オブジェクト指向のAPIを提供しており、様々な種類のグラフを描画する能力を持つ。描画できるのは主に2次元のプロットだが、3次元プロットの機能も追加されてきている。描画したグラフを各種形式の画像(各種ベクトル画像形式も含む)として保存することもできる(Wiki参照)

matplotlib – Wikipedia
スポンサーリンク

subplotの基本的な使い方

subplotを使用すると、1つの図内に複数のプロットを配置することができます。subplot関数は、行数、列数、およびプロットの位置を指定します。以下はその基本的な使い方です。

import matplotlib.pyplot as plt

# 2x2のサブプロットを作成し、1番目のサブプロットにプロットします
plt.subplot(2, 2, 1)
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')  # 'ro'は赤い点を意味します

# 2x2のサブプロットを作成し、2番目のサブプロットにプロットします
plt.subplot(2, 2, 2)
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'b-')  # 'b-'は青い線を意味します

# 2x2のサブプロットを作成し、3番目のサブプロットにプロットします
plt.subplot(2, 2, 3)
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'g^')  # 'g^'は緑色の三角形を意味します

# 2x2のサブプロットを作成し、4番目のサブプロットにプロットします
plt.subplot(2, 2, 4)
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'c--')  # 'c--'はシアンの点線を意味します

plt.show()

上記のコードでは、4つのサブプロットが2×2の配置で作成され、それぞれに異なるプロットが表示されます。各subplot関数の引数は、行数、列数、およびプロットの位置を指定します。たとえば、subplot(2, 2, 1)は2行2列のグリッド内の1番目の位置を指定します。

問題なくプロットされてます。

スポンサーリンク

応用:三つのグラフを上に一つ下に二つ並べたい

上下に2つのグラフを配置する場合は、2行1列のサブプロットを作成する必要があります。ただ、下の行は2つの列に分割する必要があります。以下は、そのようなレイアウトを実現するためのコード例です。

import matplotlib.pyplot as plt
import numpy as np

# データを生成します
x = np.linspace(0, 2 * np.pi, 400)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)

# サブプロットを作成します
plt.subplot(2, 2, (1, 2))  # 上に1つのグラフを配置するため、2x2のレイアウトで1番目と2番目の位置を指定します
plt.plot(x, y1, 'r-', label='Sine')  # サイン関数のプロット
plt.legend()  # 凡例を表示します

plt.subplot(2, 2, 3)  # 下に2つのグラフを配置するため、2x2のレイアウトで3番目の位置を指定します
plt.plot(x, y2, 'b--', label='Cosine')  # コサイン関数のプロット
plt.legend()  # 凡例を表示します

plt.subplot(2, 2, 4)  # 下に2つのグラフを配置するため、2x2のレイアウトで4番目の位置を指定します
plt.plot(x, y3, 'g-.', label='Tangent')  # タンジェント関数のプロット
plt.legend()  # 凡例を表示します

plt.tight_layout()  # レイアウトを整えます
plt.show()

subplot関数の引数には、行数、列数、およびプロットの位置を指定します。(1, 2)のように範囲を指定することで、複数の位置を1つのサブプロットとして扱うことができます。

スポンサーリンク

まとめ

本記事では、matplotlibのsubplot機能について解説しました。subplotを使用することで、1つの図に複数のプロットを配置して、データの比較や関係性の可視化を容易に行うことができます。subplotはデータ解析や可視化において非常に便利なツールであり、ぜひ活用してみてください。

コメント

タイトルとURLをコピーしました