matplotlib — graphiques
matplotlib trace des graphiques à partir de listes ou de colonnes pandas : une courbe pour une évolution, des barres pour comparer des catégories. Un titre et des axes nommés le rendent lisible.
- matplotlib
- pyplot
- plot
- bar
- graphique
- visualisation
- subplots
Syntaxe
import matplotlib.pyplot as pltfig, ax = plt.subplots()ax.plot(x, y) ax.bar(categories, valeurs)ax.set_title("…") ax.set_xlabel("…") ax.set_ylabel("…")plt.show()Exemple
import matplotlib.pyplot as pltmois = ["jan", "fév", "mar", "avr", "mai", "juin"]ca = [12.4, 13.1, 11.8, 14.6, 15.2, 16.0] # en milliers d'eurosobjectif = [13] * len(mois)fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4))ax1.plot(mois, ca, marker="o", label="CA réalisé")ax1.plot(mois, objectif, linestyle="--", label="Objectif")ax1.set_title("Chiffre d'affaires 2026")ax1.set_ylabel("k€")ax1.legend()ax2.bar(["Lyon", "Paris", "Lille"], [42, 61, 27])ax2.set_title("Commandes par ville")ax2.set_ylim(0, None)fig.tight_layout()print(len(ax2.patches)) # → 3 (une barre par ville)plt.show() # affiche les deux graphiques côte à côteÀ retenir
- Préférez l'interface objet (fig, ax = plt.subplots()) à plt.plot dès qu'il y a plusieurs graphiques : chaque réglage vise alors un axe précis.
- Choisissez la forme selon la question : courbe pour une évolution dans le temps, barres pour comparer des catégories, histogramme (ax.hist) pour une distribution, nuage de points (ax.scatter) pour la relation entre deux mesures.
- Un DataFrame se trace directement : df.plot(x="mois", y="ca") ou df.groupby("ville")["montant"].sum().plot(kind="bar").
- Piège : un axe des ordonnées qui ne part pas de zéro exagère les écarts sur un graphique en barres. Fixez-le avec ax.set_ylim(0, None).
- Dans l'éditeur du Campus, plt.show() capture la figure en image ; en script local, fig.savefig("ca.png", dpi=150, bbox_inches="tight") enregistre un fichier.
Voir aussi
- pandas — groupby et agrégationgroupby découpe un tableau par catégorie puis agrège chaque groupe, exactement comme GROUP BY en SQL. On s'en sert pour un CA par ville, une moyenne par classe ou un nombre de connexions par jour.
- numpy — tableauxnumpy fournit des tableaux numériques rapides où chaque opération s'applique à tous les éléments à la fois. C'est le moteur de pandas et de scikit-learn, utile pour calculer sur des séries de nombres.
- pandas — DataFramepandas manipule des tableaux (DataFrame) dont chaque colonne est une Series, comme une table SQL en mémoire. Commencez toujours par charger les données, puis inspecter leur forme et leurs types.