ConsigneVisualise la distribution de données avec un histogramme
Un histogramme représente la distribution d'une variable numérique. On découpe la plage en bins (intervalles) et on compte combien de valeurs tombent dans chacun.
plt.hist(data, bins=20)Paramètres clés
data → liste / array de valeursbins → nombre d'intervalles (10–50 selon n)color → couleur des barresedgecolor → contour (utile pour distinguer les barres)alpha → transparencedensity → True : normalise pour que l'aire vaille 1 (densité)range=(a,b) → limite des binsPlus de bins = plus de détail, mais plus de bruit. Règle empirique : √n bins pour n valeurs.
plt.axvline(np.mean(data), color='red', linestyle='--', label=f'Moyenne: {np.mean(data):.1f}')plt.axvline(np.median(data), color='green', linestyle=':', label='Médiane')plt.legend()axvline trace une ligne verticale, axhline une ligne horizontale. Très utile pour marquer une référence sur un graphique.
import numpy as npnp.random.seed(42)notes = np.random.normal(12, 3, 200)plt.figure(figsize=(8, 5))plt.hist(notes, bins=20, color='#9B6DFF', edgecolor='black', alpha=0.7)plt.axvline(np.mean(notes), color='red', linestyle='--', label=f'Moyenne: {np.mean(notes):.1f}')plt.xlabel('Notes')plt.ylabel('Fréquence')plt.title('Distribution des notes')plt.legend()plt.savefig('/tmp/hist.png')plt.hist(data_a, bins=20, alpha=0.5, label='A')plt.hist(data_b, bins=20, alpha=0.5, label='B')plt.legend()L'alpha permet de voir le recouvrement.
Pour visualiser une distribution lissée (sans bins), utilise plutôt un kde plot (seaborn.kdeplot ou pandas .plot(kind='kde')).
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →