# 2.2. Matplotlib Subplots¶

• plt.subplot()

• plt.subplots()

## 2.2.1. Subplot¶

• nrows

• ncols

• index

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 1000)
y = np.sin(x)

plt.figure(figsize=(12, 6))

plt.subplot(221)
plt.plot(x, y, label='a')
plt.legend()

plt.subplot(222)
plt.plot(x, y, label='b')
plt.legend()

plt.subplot(223)
plt.plot(x, y, label='c')
plt.legend()

plt.subplot(224)
plt.plot(x, y, label='d')
plt.legend()

plt.show()  # doctest: +SKIP
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 1000)
y = np.sin(x)

plt.subplot(2, 2, 1)
plt.plot(x, y, label='a')
plt.legend()

plt.subplot(2, 2, 2)
plt.plot(x, y, label='b')
plt.legend()

plt.subplot(2, 2, 3)
plt.plot(x, y, label='c')
plt.legend()

plt.subplot(2, 2, 4)
plt.plot(x, y, label='d')
plt.legend()

plt.show()  # doctest: +SKIP

## 2.2.2. Subplots¶

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 1000)
y = np.sin(x)

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

ax[0,0].plot(x, y, label='a')
ax[0,1].plot(x, y, label='b')
ax[1,0].plot(x, y, label='c')
ax[1,1].plot(x, y, label='d')

plt.show()  # doctest: +SKIP
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 1000)
y = np.sin(x)

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

ax[0,0].plot(x, y, label='a')
ax[0,0].legend()

ax[0,1].plot(x, y, label='b')
ax[0,1].legend()

ax[1,0].plot(x, y, label='c')
ax[1,0].legend()

ax[1,1].plot(x, y, label='d')
ax[1,1].legend()

plt.show()  # doctest: +SKIP
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 1000)
y = np.sin(x)

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

ax[0,0].plot(x, y, label='a')
ax[0,1].plot(x, y, label='b')
ax[1,0].plot(x, y, label='c')
ax[1,1].plot(x, y, label='d')

for chart in ax.ravel():
chart.legend()

plt.show()  # doctest: +SKIP

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 1000)
y = np.sin(x)

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

ax[0,0].plot(x, y, label='a')
ax[0,1].plot(x, y, label='b')
ax[1,0].plot(x, y, label='c')
ax[1,1].plot(x, y, label='d')