Aller au contenu
Data (pandas / numpy)

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

Modèle
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

Exemple concret
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

  1. 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.
  2. 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.
  3. Un DataFrame se trace directement : df.plot(x="mois", y="ca") ou df.groupby("ville")["montant"].sum().plot(kind="bar").
  4. 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).
  5. 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