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.