Un scatter plot affiche des points (x, y) sans les relier. Idéal pour visualiser la corrélation ou la distribution conjointe de deux variables.
Syntaxe
plt.scatter(x, y)plt.scatter(x, y,
c='red', couleur unique
c=valeurs_numeriques, colorier selon une 3e variable
cmap='viridis', palette de couleurs
s=20, taille des points
s=valeurs, taille selon une variable
alpha=0.7, transparence (utile si beaucoup de points)
marker='o' forme
)import numpy as np
np.random.seed(42)
heures = np.random.uniform(1, 10, 50)
notes = 5 + 1.5 * heures + np.random.normal(0, 2, 50) # relation linéaire bruitéeplt.figure(figsize=(8, 5))
plt.scatter(heures, notes, alpha=0.7, c='#E8006F')
plt.xlabel('Heures d\'étude')
plt.ylabel('Note')
plt.title('Corrélation heures/notes')
plt.savefig('/tmp/scatter.png')plt.scatter(x, y, c=age, s=salaire/1000, alpha=0.5, cmap='coolwarm')
plt.colorbar(label='âge')Chaque point a une position (x,y), une couleur (3e variable) et une taille (4e variable).
coef = np.polyfit(x, y, 1) # régression linéaire
plt.plot(x, coef[0]*x + coef[1], 'r--')Trop de points (>10 000) saturent l'image — utilise alpha bas (0.1) ou un hexbin (plt.hexbin) qui affiche une densité.
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →