1. ホーム
  2. パイソン

[解決済み】複数のサブプロットでプロットする方法

2022-04-08 11:17:45

質問

このコードがどのように機能するのか、少し混乱しています。

fig, axes = plt.subplots(nrows=2, ncols=2)
plt.show()

この場合、fig, axesはどのように機能するのでしょうか?何をするのでしょうか?

また、同じことをするのになぜこれがうまくいかないのでしょうか。

fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)

解決方法は?

いくつかの方法があります。その subplots メソッドは、サブプロットとともに図を作成し、それを ax 配列になります。例えば

import matplotlib.pyplot as plt

x = range(10)
y = range(10)

fig, ax = plt.subplots(nrows=2, ncols=2)

for row in ax:
    for col in row:
        col.plot(x, y)

plt.show()

しかし、このような方法でもうまくいきますが、サブプロットを含む図を作成し、その上に追加することになるので、あまりquot;clean"ではないです。

fig = plt.figure()

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

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

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

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

plt.show()