Aller au contenu principal

📊 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.