Exercice 73 / 100

Matplotlib — Scatter Plot

Crée un nuage de points pour visualiser la corrélation

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)

Personnalisation

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 )

Exemple : corrélation heures/notes

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ée
plt.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')

Variables encodées par couleur + taille (bubble chart)

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).

Un point de nuage porte jusqu'à quatre informations à la fois : sa position dit x et y, sa couleur une troisième variable, sa taille une quatrième

Ajouter une ligne de tendance

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é.

exercise.py

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →