データの可視化は、データ分析や機械学習において非常に重要なスキルです。PythonのMatplotlibライブラリは、データを視覚化するための強力なツールですが、複数のグラフを一度に表示する方法を知っておくと、より効果的な分析が可能になります。
そこで、本記事では、Matplotlibを使って複数のグラフを並べる方法を、初心者向けにわかりやすく解説します。
✓『Pythonデータサイエンスハンドブック』で基礎の確認から応用した使い方まで学ぶことができます。本記事とあわせて、ぜひ、チェックしてください。
1. Matplotlibの基本設定
まず、Matplotlibを使うために必要なインポートを行います。
import matplotlib.pyplot as plt import numpy as np
このコードは、MatplotlibとNumPyをインポートしています。NumPyはデータ操作に便利なライブラリで、サンプルデータを生成する際に使用します。
2. 複数のグラフを並べるための基本的な方法
Matplotlibでは、subplot
やsubplots
を使って複数のグラフを並べることができます。まず、subplot
を使った基本的な例を見てみましょう。
x = np.linspace(0, 10, 100) plt.subplot(1, 2, 1) plt.plot(x, np.sin(x)) plt.title("Sine Wave") plt.subplot(1, 2, 2) plt.plot(x, np.cos(x)) plt.title("Cosine Wave") plt.show()
このコードは、1行2列のレイアウトで2つのグラフを表示します。
subplot(1, 2, 1)
は、1行2列の1番目のグラフを指定し、subplot(1, 2, 2)
は2番目のグラフを指定しています。
そして、show()
でグラフが表示されます。
実行結果:
- 左側にサイン波のグラフ、右側にコサイン波のグラフが並んで表示されます。
3. subplots
を使って複数のグラフを配置する
subplot
よりも柔軟な方法として、subplots
を使用する方法があります。
これを使うと、同時に複数のグラフを管理しやすくなります。
fig, axs = plt.subplots(2, 2) x = np.linspace(0, 10, 100) axs[0, 0].plot(x, np.sin(x)) axs[0, 0].set_title("Sine Wave") axs[0, 1].plot(x, np.cos(x)) axs[0, 1].set_title("Cosine Wave") axs[1, 0].plot(x, np.tan(x)) axs[1, 0].set_title("Tangent Wave") axs[1, 1].plot(x, np.exp(x/10)) axs[1, 1].set_title("Exponential Function") plt.tight_layout() plt.show()
このコードでは、2行2列のグラフを作成しています。
subplots
は複数のグラフを一度に作成し、axs
(axesの略)という配列で各グラフを個別に操作できるようにします。
tight_layout()
はグラフ同士が重ならないように配置を調整します。
実行結果:
- 2×2のグリッドに、サイン波、コサイン波、タンジェント波、指数関数のグラフが並べて表示されます。
4. グラフのレイアウトを調整する
複数のグラフを並べる際、レイアウトの調整が必要になることがあります。以下は、カスタマイズされたレイアウトの例です。
fig, axs = plt.subplots(2, 3, figsize=(10, 6)) x = np.linspace(0, 10, 100) axs[0, 0].plot(x, np.sin(x)) axs[0, 0].set_title("Sine Wave") axs[0, 1].plot(x, np.cos(x)) axs[0, 1].set_title("Cosine Wave") axs[0, 2].plot(x, np.tan(x)) axs[0, 2].set_title("Tangent Wave") axs[1, 0].plot(x, np.exp(x/10)) axs[1, 0].set_title("Exponential Function") axs[1, 1].plot(x, np.log(x + 1)) axs[1, 1].set_title("Logarithmic Function") axs[1, 2].plot(x, x**2) axs[1, 2].set_title("Quadratic Function") plt.tight_layout() plt.show()
この例では、figsize
パラメータで図のサイズを指定し、2行3列のレイアウトに6つの異なるグラフを並べています。
これにより、グラフの見やすさが向上します。
実行結果:
- 2行3列のグリッドに、6つの異なる関数のグラフが並べて表示されます。
関連・おすすめ書籍
5. まとめ
本記事では、Matplotlibを使って複数のグラフを並べる方法について解説しました。
subplot
やsubplots
を利用することで、簡単に複数のグラフを一度に表示することができます。
グラフの配置やレイアウトを工夫することで、より効果的なデータ可視化が可能です。
▼必見(ChatGPTを活用!おすすめAI副業)▼
今なら5000円分の特典あり!! dodgsonblog.com