数学のブログ

Pythonと便利なライブラリたち Matplotlib、複数のグラフの描画、subplot

Pythonで学ぶフーリエ解析と信号処理 (神永 正博)(著)、コロナ社)の第1章(Pythonと便利なライブラリたち)、章末問題1-9の解答を求めてみる。

コード(Python)

#!/usr/bin/env python3
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.axes import Subplot

print('9.')

t = np.linspace(-np.pi, np.pi, 1000)

fig: plt.Figure = plt.figure()

m = 2
n = 3
fig.set_figheight(10)
for i in range(1, m + 1):
    for j in range(1, n + 1):
        ax: Subplot = fig.add_subplot(m, n, (i - 1) * n + j)
        ax.plot(t, i * np.sin(j * t))
        ax.set_ylim(-2, 2)
        ax.set_title(f'y = ${i} \cos({j} t)$')
        ax.set_xlabel('t')
plt.savefig('sample9.png')
plt.show()

入出力結果

% ./sample9.py
9.
%