非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Python/Matplotlib.Pyplot で複数のグラフを並べて表示させる方法(subplot)

   

Matplotlib.Pyplot で複数のグラフを並べて表示させる方法です。

Jupyter Notebookではなくスタンドアロンでグラフを表示する方法になります。

広告

グラフを縦に並べる

グラフを縦に2つ並べる方法です。出力結果は以下の通りです。

ソースコードは以下の通りです。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 6, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)

plt.subplot(2,1,1)
plt.plot(x,y1)

plt.subplot(2,1,2)
plt.plot(x,y2)

plt.show()
 

 

解説すると、以下のようにsubplot関数で複数のグラフを表示させることができます。

plt.subplot(2,1,1)
#(縦分割数、横分割数、ポジション)

 

コメントアウトした解説通り、引数は(縦分割数、横分割数、ポジション)になります。

なので、縦に4つ並べたい場合はplt.subplot(4,1,...)とすれば以下のようになります。

グラフを横に並べる

もし、横に2つ並べる場合は同じ要領で以下のように引数を(1, 2, …)とすればOKです。

plt.subplot(1,2,1)
plt.plot(x,y1)

plt.subplot(1,2,2)
plt.plot(x,y2)
 

 

出力結果はご覧のとおりです。

グラフ4つを2☓2で並べる

グラフ4つを縦横に2×2で並べる場合は以下の通りです。

plt.subplot(2,2,1)
plt.plot(x,y1)

plt.subplot(2,2,2)
plt.plot(x,y2)

plt.subplot(2,2,3)
plt.plot(x,y1)

plt.subplot(2,2,4)
plt.plot(x,y2)
 

 

結果はご覧の通りです。

広告

 - Python