Tutoriel Seaborn
Seaborn est une bibliothèque Python de visualisation de données construite au-dessus de Matplotlib, qui se concentre sur la création de divers graphiques statistiques afin de présenter et comprendre les données plus facilement.
L'objectif de Seaborn est de simplifier le processus de visualisation de données statistiques, en fournissant des interfaces de haut niveau et de beaux thèmes par défaut, permettant aux utilisateurs de créer des graphiques complexes avec un minimum de code.
Seaborn fournit des interfaces simples de haut niveau qui permettent de créer facilement divers graphiques statistiques, notamment des diagrammes de dispersion, des graphiques linéaires, des diagrammes à barres, des cartes de chaleur, etc., avec de bons effets esthétiques.
Seaborn met l'accent sur l'esthétique dans sa conception, avec des thèmes par défaut et des palettes de couleurs soigneusement choisis qui rendent les graphiques plus attrayants.
Installation de Seaborn :
pip install seaborn
Seaborn propose une variété de thèmes et de palettes de couleurs intégrés qui peuvent être définis pour modifier l'apparence des graphiques.
Exemple
# Définir le thème et la palette de couleurs
sns.set_theme(style="whitegrid", palette="pastel")
En utilisant la fonction sns.set_theme(), vous pouvez choisir différents thèmes et contextes. Voici quelques thèmes et contextes intégrés dans Seaborn :
Thème
darkgrid(par défaut) : Thème de grille sombre.
import seaborn as sns # 设置为 darkgrid 主题 sns.set_theme(style="darkgrid")
whitegrid: Thème de grille clair.
import seaborn as sns # 设置为 whitegrid 主题 sns.set_theme(style="whitegrid")
dark: Thème sombre, sans grille.
import seaborn as sns # 设置为 dark 主题 sns.set_theme(style="dark")
white: Thème clair, sans grille.
import seaborn as sns # 设置为 white 主题 sns.set_theme(style="white")
ticks: Thème sombre avec graduations.
import seaborn as sns # 设置为 ticks 主题 sns.set_theme(style="ticks")
Contexte
paper: Adapté aux petites figures, avec des étiquettes et des lignes plus petites.
import seaborn as sns # 设置为 paper 模板 sns.set_theme(context="paper")
notebook(par défaut) : Adapté aux ordinateurs portables et environnements similaires, avec des étiquettes et des lignes de taille moyenne.
import seaborn as sns # 设置为 notebook 模板 sns.set_theme(context="notebook")
talk: Adapté aux diapositives de présentation, avec des étiquettes et des lignes de grande taille.
import seaborn as sns # 设置为 talk 模板 sns.set_theme(context="talk")
poster: Adapté aux posters, avec des étiquettes et des lignes très grandes.
import seaborn as sns # 设置为 poster 模板 sns.set_theme(context="poster")
En définissant différents thèmes et contextes, vous pouvez ajuster des attributs tels que la taille, la largeur des lignes et les couleurs des graphiques Seaborn pour les adapter à différents scénarios de tracé. Ces thèmes et contextes intégrés permettent aux utilisateurs de créer plus facilement des graphiques attrayants et cohérents.
L'exemple suivant utilise Seaborn et Matplotlib pour créer un diagramme à barres simple montrant les ventes de différents produits :
Exemple
import matplotlib.pyplot as plt
# Définir le thème et la palette de couleurs
sns.set_theme(style="darkgrid", palette="pastel")
# Données d'exemple
products = ["Produit A", "Produit B", "Produit C", "Produit D"]
sales = [120, 210, 150, 180]
# Créer un diagramme à barres
sns.barplot(x=products, y=sales)
# Ajouter des étiquettes et un titre
plt.xlabel("Produits")
plt.ylabel("Ventes")
plt.title("Ventes de produits par catégorie")
# Afficher le graphique
plt.show()
Le résultat est présenté dans la figure ci-dessous :

Fonctions de tracé
Seaborn propose plusieurs fonctions de tracé pour créer divers graphiques statistiques. Voici les principales fonctions de tracé de Seaborn et leurs exemples correspondants :
1. Nuage de points - sns.scatterplot()
Permet de créer un nuage de points entre deux variables, avec la possibilité d'ajouter une ligne de tendance.
Exemple
import matplotlib.pyplot as plt
import pandas as pd
# Créer un DataFrame d'exemple
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)
# Tracer un nuage de points
sns.scatterplot(x='A', y='B', data=df)
plt.show()
Le résultat est présenté dans la figure ci-dessous :

2. Graphique linéaire - sns.lineplot()
Permet de tracer des lignes de tendance montrant comment une variable évolue en fonction d'une autre variable.
Exemple
import matplotlib.pyplot as plt
import pandas as pd
# Créer un DataFrame d'exemple
data = {'X': [1, 2, 3, 4, 5], 'Y': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)
# Tracer un graphique linéaire
sns.lineplot(x='X', y='Y', data=df)
plt.show()
Le résultat est présenté dans la figure ci-dessous :

3. Diagramme en barres - sns.barplot()
Utilisé pour créer des diagrammes à barres montrant la moyenne ou d'autres fonctions d'agrégation de variables.
Exemple
import matplotlib.pyplot as plt
import pandas as pd
# Créer un DataFrame d'exemple
data = {'Category': ['A', 'B', 'C'], 'Value': [3, 7, 5]}
df = pd.DataFrame(data)
# Tracer un diagramme à barres
sns.barplot(x='Category', y='Value', data=df)
plt.show()
Le résultat est présenté dans la figure ci-dessous :

4. Diagramme en boîte - sns.boxplot()
Utilisé pour visualiser la distribution de variables, y compris la médiane, les quartiles, etc.
Exemple
import matplotlib.pyplot as plt
import pandas as pd
# Créer un DataFrame d'exemple
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C'], 'Value': [3, 7, 5, 9, 2, 6]}
df = pd.DataFrame(data)
# Tracer un diagramme en boîte
sns.boxplot(x='Category', y='Value', data=df)
plt.show()
Le résultat est présenté dans la figure ci-dessous :

5. Carte de chaleur - sns.heatmap()
Utilisé pour créer des cartes de chaleur pour les données matricielles, souvent utilisé pour afficher des matrices de corrélation.
Exemple
import matplotlib.pyplot as plt
import pandas as pd
# Créer un DataFrame d'exemple
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)
# Créer une matrice de corrélation
correlation_matrix = df.corr()
# Visualiser la matrice de corrélation à l'aide d'une carte thermique
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=".2f")
plt.show()
Le résultat est présenté dans la figure ci-dessous :

6. Diagramme en violon - sns.violinplot()
Utilisé pour afficher la forme et l'estimation de la densité des distributions, en combinant des diagrammes en boîte et l'estimation de densité par noyau.
Exemple
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# Créer un DataFrame d'exemple
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C'], 'Value': [3, 7, 5, 9, 2, 6]}
df = pd.DataFrame(data)
# Tracer un diagramme en violon
sns.violinplot(x='Category', y='Value', data=df)
plt.show()
Le résultat est présenté dans la figure ci-dessous :

Autres extensionsPour plus d'informations, consultez le tutoriel officiel :https://seaborn.pydata.org/tutorial.html