Graphique en barres
plt.bar(categories, valeurs)
La liste des catégories vient en premier, puis la liste des valeurs. Les deux listes doivent avoir la même longueur.
Tracer avec matplotlib, afficher des images, documenter son code
On importe matplotlib.pyplot sous le surnom plt - c'est la convention universelle. La fonction plot() trace une courbe et show() ouvre la fenêtre d'affichage.
Par convention on importe pyplot sous le nom plt - tous les exemples en ligne et dans les cours utilisent ce raccourci. show() affiche la fenêtre : sans lui, rien ne s'affiche.
Chaque type de graphique a sa fonction. Le choix dépend de ce qu'on veut montrer : comparer des catégories ou explorer la relation entre deux variables.
plt.bar(categories, valeurs)
La liste des catégories vient en premier, puis la liste des valeurs. Les deux listes doivent avoir la même longueur.
plt.scatter(axe-x, axe-y)
scatter place un point pour chaque paire (x, y). Idéal pour voir si deux mesures sont corrélées : plus la largeur est grande, plus la hauteur l'est aussi ?
Un graphique sans titre ni étiquettes d'axes n'est pas lisible. Ces fonctions s'appellent avant plt.show().
| On écrit | Effet | Règle |
|---|---|---|
| plt.title("...") | titre du graphique | toujours présent |
| plt.xlabel("...") | étiquette de l'axe horizontal | indiquer l'unité |
| plt.ylabel("...") | étiquette de l'axe vertical | indiquer l'unité |
| plt.legend() | affiche la légende des courbes | utile si plusieurs courbes |
| plt.grid(True) | ajoute un quadrillage | facilite la lecture |
Règle d'or : tout graphique doit avoir un titre, les deux axes nommés, et l'unité de mesure. Sans ça, le lecteur ne sait pas ce qu'il regarde.
matplotlib peut afficher des images directement. Pour plus de formats et plus de contrôle (redimensionner, recadrer, pivoter), on combine avec PIL (la bibliothèque Pillow).
plt.imread() + plt.imshow()
plt.imread lit l'image comme un tableau 2D de pixels (chaque pixel = trois nombres : rouge, vert, bleu). Simple, mais limité aux formats courants (PNG, JPG).
from PIL import Image
PIL ouvre plus de formats et permet de manipuler l'image avant de l'afficher : redimensionner, recadrer, pivoter. plt.axis("off") enlève la règle graduée qui parasite la photo.
plt.subplots(lignes, colonnes) divise la figure en cases. On reçoit la figure et un tableau de sous-graphiques qu'on peut parcourir avec une boucle for.
plt.subplots(1, 3) crée 1 ligne et 3 colonnes. zip() associe chaque sous-graphique à son fichier image. On appelle les méthodes directement sur sousGraphique (pas sur plt).
Un code bien documenté explique le pourquoi, pas seulement le quoi. Deux outils : le commentaire # pour une ligne, la docstring pour décrire une fonction entière.
# explication sur une ligne
Le commentaire explique le pourquoi d'un choix. Inutile d'écrire # on additionne sous un + : ça ne dit rien de plus que le code lui-même.
"""Description entre guillemets triples"""
La docstring se place juste après la ligne def, entre guillemets triples. help() l'affiche à la demande - c'est comme ça que fonctionne la documentation de Python lui-même.
Quatre erreurs très fréquentes avec matplotlib.
Sans plt.show(), le graphique est préparé en mémoire mais n'est jamais affiché. On attend... pour rien.
Si on trace deux graphiques de suite sans plt.clf() ni plt.figure(), matplotlib ajoute les courbes sur la même figure.
plot relie les points avec une ligne - utile pour une évolution dans le temps. scatter pose des points isolés - utile pour comparer deux mesures.
Sans plt.axis("off"), matplotlib affiche les axes chiffrés (numéros de pixels) autour de la photo, ce qui est rarement souhaitable.