Skip to content

Visualiser des données avec Matplotlib et Seaborn

Un tableau de nombres cache souvent une structure qu’un graphique révèle instantanément. Deux bibliothèques suffisent pour l’essentiel des besoins de ce cours.

Matplotlib est la bibliothèque de visualisation historique de Python — verbeuse, mais universelle : toute autre bibliothèque de graphiques en Python (dont Seaborn) s’appuie dessus ou l’imite.

import matplotlib.pyplot as plt
import numpy as np
jours = np.arange(1, 8)
ventes = np.array([120, 95, 140, 110, 205, 155, 215])
fig, ax = plt.subplots()
ax.plot(jours, ventes, marker="o")
ax.set_xlabel("Jour")
ax.set_ylabel("Ventes (€)")
ax.set_title("Ventes de la semaine")
plt.savefig("ventes_semaine.png")

Le motif fig, ax = plt.subplots() revient dans presque tout ce cours : fig représente la figure entière (utile pour l’enregistrer ou gérer plusieurs sous-graphiques), ax représente les axes sur lesquels on dessine réellement.

Seaborn : des graphiques statistiques prêts à l’emploi

Section titled “Seaborn : des graphiques statistiques prêts à l’emploi”

Seaborn ajoute un vocabulaire de plus haut niveau, pensé pour l’exploration statistique, avec un style visuel plus soigné par défaut.

import seaborn as sns
import pandas as pd
np.random.seed(0)
notes = np.random.normal(loc=13, scale=2.5, size=200)
df_notes = pd.DataFrame({"note": notes})
fig, ax = plt.subplots()
sns.histplot(df_notes["note"], bins=20, kde=True, ax=ax)
ax.set_title("Distribution des notes")
plt.savefig("distribution_notes.png")
print("moyenne:", round(notes.mean(), 2), "ecart-type:", round(notes.std(), 2))
moyenne: 13.18 ecart-type: 2.55

histplot(..., kde=True) superpose à l’histogramme une estimation lissée de la densité (Kernel Density Estimate) — utile pour juger d’un coup d’œil si une distribution ressemble à une gaussienne, une question qui reviendra dès le module 1 (métriques d’évaluation) et au module 8 (résidus d’un modèle de série temporelle).

Besoin Outil
Un graphique simple et contrôlé précisément (ligne, barres, nuage de points) Matplotlib
Explorer rapidement une distribution, une corrélation, un groupe Seaborn
Un graphique directement à partir d’un DataFrame (df.plot(...)) pandas (qui délègue à Matplotlib en coulisse)

Ce dernier cas (DataFrame.plot()) a déjà été utilisé au module 2, pour restituer une requête SQL sous forme de graphique en une seule ligne.

👉 Le vocabulaire commun de scikit-learn


Junior TSAFACK – 12/09/2026