Les subplots permettent de placer plusieurs graphiques dans une seule figure. Indispensable pour comparer plusieurs vues d'un même dataset.
fig, axes = plt.subplots(nrows, ncols, figsize=(L, H))fig → la figure (le "papier")
axes → une matrice d'axes (les "cases")Accès à un axe
Chaque ax a les mêmes méthodes que plt, mais préfixées :
ax.plot(x, y)
ax.scatter(x, y)
ax.bar(cats, vals)
ax.hist(data, bins=20)
ax.set_title('Titre')
ax.set_xlabel('x') / ax.set_ylabel('y')
ax.legend()import numpy as np
import matplotlib.pyplot as pltx = np.linspace(0, 10, 100)fig, axes = plt.subplots(2, 2, figsize=(10, 8))axes[0, 0].plot(x, np.sin(x), color='#E8006F')
axes[0, 0].set_title('Sinus')axes[0, 1].plot(x, np.cos(x), color='#00C878')
axes[0, 1].set_title('Cosinus')axes[1, 0].plot(x, np.exp(-x/3), color='#F0A500')
axes[1, 0].set_title('Exponentielle')axes[1, 1].plot(x, np.log(x + 1), color='#9B6DFF')
axes[1, 1].set_title('Logarithme')plt.tight_layout()
plt.savefig('/tmp/subplots.png')Ajuste automatiquement les espacements pour éviter le chevauchement des titres et labels. À appeler après tous les set_title / set_xlabel.
fig, axes = plt.subplots(2, 1, sharex=True) # x commun
fig, axes = plt.subplots(1, 3, sharey=True) # y communUtile quand on compare des séries sur la même échelle.
Pour une seule ligne ou colonne de plots, axes est une liste 1D : axes[0], axes[1]... pas axes[0, 0].
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →