La visualisation des données est une étape cruciale en science des données. Elle permet de mieux comprendre la structure des données, d’identifier des tendances, des anomalies et de communiquer efficacement les résultats de l’analyse.
Type de Graphique | Type de Données | Utilisation principale |
---|---|---|
Courbe linéaire | Variable continue | Suivi d’une tendance |
Histogramme | Variable numérique continue | Distribution d’une variable |
Diagramme en barres | Variable catégorielle | Comparaison entre différentes catégories |
Nuage de points | Deux variables numériques | Relation entre deux variables |
Boxplot | Variable numérique / catégorielle | Comparaison de distributions |
Violin plot | Variable numérique / catégorielle | Visualisation de la distribution |
Heatmap | Matrice de valeurs numériques | Corrélation entre variables |
Pie chart (camembert) | Variables catégoriques | Répartition proportionnelle |
##Graphiques de Base avec Matplotlib
Les courbes permettent d’observer l’évolution d’une variable sur un axe donné.
Permet d’analyser la relation entre deux variables numériques.
Utilisé pour représenter la distribution des valeurs d’une variable continue.
Comparaison des quantités entre différentes catégories.
Montre la répartition d’un ensemble sous forme de pourcentages.
Seaborn simplifie la création de graphiques statistiques et esthétiques, en particulier pour des DataFrames issus de Pandas.
Si nécessaire, installez Seaborn :
Puis importez-le :
Le boxplot visualise la distribution d’une variable et met en avant la médiane, les quartiles et les valeurs aberrantes.
Exemple : Distribution des additions par jour avec le dataset “tips”
La heatmap représente une matrice de données à l’aide de codes couleur.
Exemple : Matrice de corrélation du dataset “tips”
Explications : - tips.corr()
calcule la matrice de corrélation des variables numériques. - annot=True
affiche les valeurs dans chaque cellule.
Le pairplot affiche une matrice de scatter plots pour examiner les relations entre chaque paire de variables.
Exemple : Pairplot du dataset “iris”
# Chargement des données
iris = sns.load_dataset("iris")
# Création du pairplot
sns.pairplot(iris, hue="species")
plt.suptitle("Pairplot du dataset Iris", y=1.02)
plt.show()
Note : - L’argument hue="species"
permet de colorer les points selon l’espèce.
Le violin plot combine un boxplot avec une estimation de la densité de la distribution.
Exemple : Distribution des pourboires pour fumeurs vs non-fumeurs
Seaborn offre des palettes et styles par défaut pour améliorer l’esthétique.
La personnalisation permet d’affiner la présentation de vos graphiques pour une meilleure lisibilité et un rendu professionnel. Vous pouvez modifier les axes, les titres, ajouter des annotations et sauvegarder vos graphiques avec une qualité optimale.
Vous pouvez personnaliser les étiquettes des axes, le titre et la légende en ajustant la taille des polices.
import numpy as np
import matplotlib.pyplot as plt
# Données
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)
# Tracé du graphique avec personnalisation des polices
plt.plot(x, y, label="sin(x)", color='orange')
plt.xlabel("x", fontsize=12) # Taille de la police de l'axe x
plt.ylabel("sin(x)", fontsize=12) # Taille de la police de l'axe y
plt.title("Courbe sin(x) avec polices personnalisées", fontsize=16) # Taille du titre
plt.legend(fontsize=10) # Taille de la police de la légende
plt.show()
Les annotations permettent de mettre en évidence des points d’intérêt dans un graphique. Vous pouvez personnaliser le texte et la flèche de l’annotation.
# Définition du point maximum
x_max = np.pi / 2
y_max = np.sin(x_max)
plt.plot(x, y, label="sin(x)", color='orange')
plt.scatter([x_max], [y_max], color='red')
plt.annotate("Point max", xy=(x_max, y_max), xytext=(x_max + 1, y_max + 0.3),
arrowprops=dict(facecolor='black', shrink=0.05), fontsize=12)
plt.xlabel("x")
plt.ylabel("sin(x)")
plt.title("Annotation avancée sur sin(x)", fontsize=16)
plt.legend()
plt.show()
Pour exporter vos graphiques dans différents formats (PNG, PDF, SVG) :
dpi=300
: Définit une haute résolution pour l’image exportée.bbox_inches='tight'
: Ajuste les marges pour éviter que des éléments soient coupés.Avec ces options, vous obtenez un graphique professionnel prêt à être utilisé dans des rapports ou présentations.
La fonction plt.subplot(nrows, ncols, index)
permet de créer une grille simple de sous-graphes. Elle divise la figure en une matrice de nrows
lignes et ncols
colonnes, puis sélectionne le subplot à modifier à l’aide de l’index
.
Dans cet exemple, nous allons afficher côte à côte les courbes des fonctions sin(x)
et cos(x)
.
# Importation des bibliothèques
import numpy as np
import matplotlib.pyplot as plt
# Données
x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.figure(figsize=(10, 4))
# Premier subplot : sin(x)
plt.subplot(1, 2, 1) # 1 ligne, 2 colonnes, 1er subplot
plt.plot(x, y1, color='blue', label='sin(x)')
plt.xlabel("x")
plt.ylabel("sin(x)")
plt.title("Courbe sin(x)")
plt.legend()
# Deuxième subplot : cos(x)
plt.subplot(1, 2, 2) # 1 ligne, 2 colonnes, 2e subplot
plt.plot(x, y2, color='red', label='cos(x)')
plt.xlabel("x")
plt.ylabel("cos(x)")
plt.title("Courbe cos(x)")
plt.legend()
# Ajustement de l'affichage
plt.tight_layout()
plt.show()
La fonction plt.subplots()
crée à la fois une figure et un tableau d’axes (fig, axes
), ce qui permet de gérer plusieurs subplots plus facilement que plt.subplot()
. Elle retourne : - fig
: la figure globale. - axes
: une liste ou un tableau d’objets AxesSubplot
, facilitant la manipulation des sous-graphiques.
Dans cet exemple, nous allons tracer quatre graphiques dans une grille de 2 lignes et 2 colonnes.
# Importation des bibliothèques
import numpy as np
import matplotlib.pyplot as plt
# Données
x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.sin(2*x)
y4 = np.cos(2*x)
# Création de la figure et des subplots
fig, axes = plt.subplots(2, 2, figsize=(10, 8), sharex=True, sharey=True)
# Premier graphique : sin(x)
axes[0, 0].plot(x, y1, color='blue')
axes[0, 0].set_title("sin(x)")
# Deuxième graphique : cos(x)
axes[0, 1].plot(x, y2, color='red')
axes[0, 1].set_title("cos(x)")
# Troisième graphique : sin(2x)
axes[1, 0].plot(x, y3, color='green')
axes[1, 0].set_title("sin(2x)")
# Quatrième graphique : cos(2x)
axes[1, 1].plot(x, y4, color='purple')
axes[1, 1].set_title("cos(2x)")
# Titre global
fig.suptitle("Exemples de graphiques en subplots", fontsize=16)
# Ajustement de l'affichage
plt.tight_layout(rect=[0, 0, 1, 0.95])
plt.show()
#Conclusion
Ce guide vous offre une base solide pour utiliser Matplotlib et Seaborn en Python. Vous avez appris à : - Choisir le bon type de graphique selon vos données. - Créer et personnaliser des graphiques avec Matplotlib. - Explorer des visualisations avancées avec Seaborn. - Organiser plusieurs visualisations dans une même figure.