Introduction
Seaborn est une bibliothèque Python de visualisation de données construite sur Matplotlib. Elle simplifie la création de graphiques élégants et informatifs, notamment pour analyser des données statistiques. Avec son intégration étroite avec Pandas, Seaborn facilite la visualisation de DataFrames et permet de créer des graphiques avancés avec moins de code.
Dans cet article, nous allons explorer les principales fonctionnalités de Seaborn et découvrir comment l'utiliser pour visualiser et analyser vos données efficacement.
1. Installation de Seaborn
Si vous n'avez pas encore installé Seaborn, utilisez la commande suivante :
pip install seaborn
Ensuite, importez Seaborn dans votre code :
import seaborn as sns
import matplotlib.pyplot as plt
2. Chargement des données
Seaborn fonctionne parfaitement avec les DataFrames de Pandas. Voici comment charger un jeu de données intégré :
import seaborn as sns
# Charger un jeu de données intégré
data = sns.load_dataset("tips") # Données sur les pourboires
print(data.head())
Le DataFrame tips
contient des informations sur les pourboires dans un restaurant, comme le montant total, le pourboire, le jour de la semaine, et d’autres caractéristiques.
3. Graphiques de base avec Seaborn
3.1. Diagramme de dispersion (Scatter Plot)
Le diagramme de dispersion est utilisé pour examiner la relation entre deux variables numériques.
sns.scatterplot(data=data, x="total_bill", y="tip", hue="day", style="time", palette="viridis")
plt.title("Relation entre Total Bill et Tip")
plt.show()
hue
: Ajoute des couleurs en fonction d'une catégorie.style
: Change le style des marqueurs.
3.2. Histogrammes et distributions
Seaborn propose des outils avancés pour visualiser la distribution des données.
Histogramme simple
sns.histplot(data=data, x="total_bill", kde=True, bins=20, color="blue")
plt.title("Distribution de Total Bill")
plt.show()
kde=True
: Ajoute une courbe de densité pour montrer la distribution.
Distribution par catégorie
sns.boxplot(data=data, x="day", y="total_bill", palette="coolwarm")
plt.title("Total Bill par Jour")
plt.show()
3.3. Diagramme en barres
Les diagrammes en barres permettent de visualiser les moyennes ou d'autres statistiques agrégées.
sns.barplot(data=data, x="day", y="total_bill", ci="sd", palette="rocket")
plt.title("Moyenne de Total Bill par Jour")
plt.show()
ci
: Ajoute des barres d'erreur (par défaut, intervalle de confiance).
4. Graphiques relationnels
4.1. relplot()
pour les relations multiples
La fonction relplot()
est une méthode flexible pour visualiser des relations complexes.
pythonCopier le code
sns.relplot(data=data, x="total_bill", y="tip", hue="time", col="day", kind="scatter", palette="muted")
plt.show()
col
: Crée des sous-graphiques pour chaque catégorie.
4.2. Régressions avec lmplot()
Seaborn peut également tracer des régressions linéaires pour visualiser les tendances.
sns.lmplot(data=data, x="total_bill", y="tip", hue="time", markers=["o", "x"], palette="cool")
plt.title("Régression Linéaire entre Total Bill et Tip")
plt.show()
5. Graphiques catégoriels
5.1. catplot()
pour explorer les données catégoriques
La fonction catplot()
permet de visualiser des relations entre des variables catégoriques et numériques.
sns.catplot(data=data, x="day", y="total_bill", hue="sex", kind="box", palette="Set2")
plt.title("Box Plot de Total Bill par Jour et Sexe")
plt.show()
5.2. Swarm plot
Le swarm plot montre la distribution des points tout en évitant leur chevauchement.
sns.swarmplot(data=data, x="day", y="total_bill", hue="sex", palette="Set1")
plt.title("Swarm Plot : Total Bill par Jour et Sexe")
plt.show()
6. Visualisation des distributions
Seaborn propose des fonctions pour analyser la distribution des données.
6.1. distplot() et histplot()
sns.histplot(data=data, x="total_bill", kde=True, bins=30, color="purple")
plt.title("Distribution de Total Bill avec KDE")
plt.show()
6.2. Heatmaps (cartes thermiques)
Les heatmaps sont parfaits pour visualiser les corrélations.
corr = data.corr()
sns.heatmap(corr, annot=True, cmap="coolwarm")
plt.title("Matrice de Corrélation")
plt.show()
7. Personnalisation avec Seaborn
7.1. Modifier les styles
Seaborn propose différents styles pour personnaliser vos graphiques.
sns.set_style("whitegrid")
sns.boxplot(data=data, x="day", y="total_bill", palette="pastel")
plt.title("Graphique avec Style Whitegrid")
plt.show()
Les styles disponibles sont :
darkgrid
whitegrid
dark
white
ticks
7.2. Palette de couleurs
Vous pouvez personnaliser les couleurs avec des palettes.
sns.set_palette("husl")
sns.barplot(data=data, x="day", y="total_bill")
plt.title("Graphique avec Palette Husl")
plt.show()
8. Combiner plusieurs graphiques
Seaborn permet de superposer ou d’intégrer des graphiques dans une même figure.
Superposer des graphiques
sns.histplot(data=data, x="total_bill", kde=True, color="blue", alpha=0.6)
sns.rugplot(data=data, x="total_bill", color="red")
plt.title("Histogramme avec Rug Plot")
plt.show()
9. Sauvegarder un graphique
Une fois votre graphique prêt, vous pouvez le sauvegarder dans un fichier.
sns.barplot(data=data, x="day", y="total_bill", palette="coolwarm")
plt.title("Barplot")
plt.savefig("barplot.png", dpi=300, bbox_inches="tight")
plt.show()
Conclusion
Seaborn est une bibliothèque puissante et intuitive pour la visualisation des données. En intégrant parfaitement les DataFrames de Pandas, elle permet de créer rapidement des graphiques avancés et attrayants, tout en simplifiant les analyses statistiques. Avec Seaborn, vous pouvez transformer vos données brutes en visualisations percutantes qui aident à prendre des décisions éclairées.