📊 Matplotlib
Matplotlib est une bibliothèque de visualisation de données en Python qui permet de créer des graphiques statiques, animés et interactifs. Elle est largement utilisée pour l'analyse de données, la science des données et l'apprentissage automatique.
Pour aller plus loin : documentation officielle de Matplotlib.
🔹 Courbe simple
x = [0, 1, 2, 3, 4]
y = [0, 1, 4, 9, 16]
plt.plot(x, y)
plt.show()
🔹 Paramètres de plt.plot()
plt.plot(
x, y,
color = 'darkorange', # couleur (défaut : 'C0' — couleur automatique)
linestyle = '--', # type de ligne '-' | '--' | ':' | '' (aucune) (défaut : '-')
marker = 'o', # type de marqueur 'o' | 's' | '^' | '+' (défaut : None)
linewidth = 1.5, # épaisseur de la ligne (défaut : 1.5)
markersize = 6, # taille des marqueurs (défaut : 6)
alpha = 0.75, # opacité 0.0 (transparent) → 1.0 (opaque) (défaut : 1.0)
label = 'courbe' # étiquette pour la légende (défaut : None)
)
🔹 Plusieurs courbes
plt.plot(x, y, label="x²")
plt.plot(x, [-i for i in y], color='green', label="-x²")
plt.show()
🔹 Titre, étiquettes d'axes et ticks
plt.title("Mon graphique")
plt.xlabel("Axe des X")
plt.ylabel("Axe des Y")
plt.xticks(
rotation = 30, # rotation des étiquettes en degrés (défaut : 0)
ha = 'right', # alignement horizontal 'center' | 'right' | 'left' (défaut : 'center')
fontsize = 12 # taille de la police (défaut : taille du thème)
)
plt.tight_layout() # évite les coupures de texte
🔹 Légende
plt.legend(
loc = 'lower right', # position 'upper right' | 'lower left' | 'center' | etc. (défaut : 'best')
title = "Fonction", # titre de la légende (défaut : None)
title_fontsize = 12, # taille du titre (défaut : taille du thème)
prop = {'size': 10}, # taille des étiquettes (défaut : None)
markerscale = 2 # facteur de taille des marqueurs (défaut : 1.0)
)
🔹 Grille
plt.grid(
axis = 'both', # 'both' | 'x' | 'y' (défaut : 'both')
linestyle = '-', # (défaut : '-')
linewidth = 0.8, # (défaut : 0.8)
color = '#b0b0b0', # (défaut : gris pâle)
alpha = 1.0 # (défaut : 1.0)
)
plt.gca().set_axisbelow(True) # grille derrière les courbes
🔹 Axes à la même échelle
plt.axis("equal") # même échelle sur x et y
plt.show()
# utile pour les figures géométriques (un cercle reste rond au lieu de devenir une ellipse)
🔹 Taille de la figure
plt.figure(figsize=(9, 4)) # largeur x hauteur en pouces (défaut : 6.4 x 4.8)
plt.plot(x, y)
plt.show()
🔹 Plusieurs figures séparées
plt.figure() # nouvelle figure
plt.plot(x, y)
plt.savefig("figure1.pdf")
plt.figure() # nouvelle figure
plt.plot(x, [-i for i in y])
plt.savefig("figure2.pdf")
plt.show() # affiche toutes les figures
🔹 Sauvegarder le graphique
plt.savefig("graphique.png") # ou .pdf, .svg, .jpg
# à appeler avant plt.show()
🔹 Histogramme
import random
donnees = [random.gauss(0, 1) for _ in range(1000)] # génère 1000 valeurs aléatoires selon une distribution normale (moyenne=0, écart-type=1)
plt.hist(donnees, bins=30) # bins : nombre d'intervalles (défaut : 10)
plt.show()
🔹 Diagramme en barres
categories = ["A", "B", "C"]
valeurs = [10, 20, 15]
plt.bar(categories, valeurs)
plt.show()
🔹 Nuage de points
plt.scatter(
x, y,
alpha = 0.5, # opacité (défaut : 1.0)
s = 100 # taille des points en pixels² (défaut : 20)
)
plt.show()
🔹 Boîte à moustaches
data = [[1, 2, 3, 4, 5], [2, 3, 4, 5, 6]]
plt.boxplot(data, tick_labels=["A", "B"])
plt.show()
💡 Il existe de nombreuses options avancées : couleurs, transparence, sous-graphes… Explore la documentation officielle pour aller plus loin.