2.2. Figure 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
2.2.3. Adjustments
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.subplots_adjust(
left = 0.125, # the left side of the subplots of the figure
right = 0.9, # the right side of the subplots of the figure
bottom = 0.1, # the bottom of the subplots of the figure
top = 0.9, # the top of the subplots of the figure
wspace = 0.5, # the amount of width reserved for space between subplots,
# expressed as a fraction of the average axis width
hspace = 0.5, # the amount of height reserved for space between subplots,
# expressed as a fraction of the average axis height
)
plt.show() # doctest: +SKIP