プログラミング

【Matplotlib】グラフを分割する

グラフの分割

matplotlibでは1つのキャンパスに
複数のグラフを描くことができます

今回のサンプル

def f(t):
return np.exp(-t) * np.cos(2*np.pi*t)

#0.0から5.0まで0.1刻み
t1 = np.arange(0.0, 5.0, 0.1)
#0.0から5.0まで0.02刻み
t2 = np.arange(0.0, 5.0, 0.02)

plt.figure()
#描画エリアを2行1列に分割し、1つ目に表示
plt.subplot(211)
plt.plot(t1, f(t1), ‘bo’, t2, f(t2), ‘k’)

#描画エリアを2行1列に分割し、2つ目に表示
plt.subplot(212)
plt.plot(t2, np.cos(2*np.pi*t2), ‘r–‘)
plt.show
 

plt.figure()

plt.figure()は”キャンパスを用意する”ためのコードです。
絵を描くときのキャンバスを想像してください。

plt.subplot(211)

キャンバスを分割するためは
plt.subplot()を使います
()のなかにはキャンバスをどのように分割して描くかを指定します
たとえば、2行1列の1番目に描画したいときは
plt.subplot(211)と記述します。

subplotで割り当てられる番号は
左上から順番になっているので気を付けましょう。

plt.plot(t1, f(t1), ‘k’)

plt.subplot(211)のあとに
plt.plot(t1, f(t1), ‘k’)
と記述して描画しています

1つ目のパロメータは横軸の値
2つ目のパロメータは縦軸の値
3つ目のパロメータはどんな線にするか

です。

線のパロメータっていうのは
実線とか点線とか色とかを指定しています。
このパロメータに関してはコチラの記事を参考してください。

plt.subplot(212)

キャンバスの2番目に別のグラフを描きます。
plt.subplot(212)
plt.plot(t2, np.cos(2*np.pi*t2), ‘r–‘)

完成!

これで2つのグラフを1つのキャンバスに描けました。