FacetGrid et PairGrid

  • sns.FacetGrid()

    La fonction sns.FacetGrid() est utilisée pour créer un grille de visualisation qui permet de montrer plusieurs graphiques en fonction de différentes catégories de données. Elle permet de créer une grille de sous-graphes où chaque sous-graphique correspond à une combinaison de variables catégorielles.

    Importation :
    import seaborn as sns
    Attributs :
    Paramètre Type Description Valeur par défaut
    data DataFrame Le DataFrame contenant les données à visualiser. None
    row str Nom de la variable dans les données pour les lignes de la grille. None
    col str Nom de la variable dans les données pour les colonnes de la grille. None
    hue str Nom de la variable dans les données pour colorer les points dans les graphiques. None
    palette str / list Palette de couleurs à utiliser pour les différentes catégories de la variable hue. None
    Exemple de code :
    import seaborn as sns
    import matplotlib.pyplot as plt
    
    # Chargement des données d'exemple
    tips = sns.load_dataset("tips")
    
    # Création d'une FacetGrid
    g = sns.FacetGrid(tips, col="sex", row="time")
    
    # Tracer un graphique dans chaque sous-graphe
    g.map(sns.scatterplot, "total_bill", "tip")
    
    # Afficher la grille
    plt.show()
    Explication du code :

    Nous utilisons sns.FacetGrid() pour créer une grille de graphiques, où les lignes de la grille sont définies par la variable time (déjeuner ou dîner) et les colonnes par la variable sex (homme ou femme). Ensuite, nous utilisons g.map() pour appliquer la fonction de visualisation sns.scatterplot() sur chaque sous-graphe, en traçant la relation entre total_bill et tip dans chaque sous-graphe.

    Remarques :

    • Flexibilité : sns.FacetGrid() permet de visualiser des relations complexes dans des sous-groupes de données, facilitant ainsi l’exploration et la comparaison de différentes catégories.

    • Personnalisation : La grille générée peut être personnalisée en termes de disposition (nombre de lignes et de colonnes) et de type de graphique, en utilisant des fonctions comme map() pour appliquer des tracés différents.

    • Optimisation des performances : Pour de très grandes quantités de données, il peut être utile de réduire la taille des données ou d’utiliser des options de sous-échantillonnage pour garantir que l’affichage reste fluide.

  • sns.PairGrid()

    seaborn.PairGrid() est une fonction qui permet de créer une grille de graphiques pour visualiser les relations entre toutes les paires de variables dans un DataFrame. Elle permet de personnaliser les types de graphiques pour la partie supérieure, inférieure et diagonale de la grille.

    Importation :
    import seaborn as sns
    import matplotlib.pyplot as plt
    import pandas as pd
    Attributs :
    Paramètre Type Description Valeur par défaut
    data DataFrame Le DataFrame contenant les données à visualiser. None
    hue str Nom de la variable catégorielle pour la colorisation. None
    palette str, list, or dict Palette de couleurs à utiliser. None
    height float Hauteur de chaque sous-graphique de la grille (en pouces). 2.5
    aspect float Rapport largeur/hauteur de chaque sous-graphique. 1
    Exemple de code :
    # Charger un dataset intégré (iris dataset)
    iris = sns.load_dataset("iris")
    
    # Créer une PairGrid
    g = sns.PairGrid(iris)
    
    # Appliquer un graphique de type 'scatter' pour chaque paire de variables
    g.map_lower(sns.kdeplot)  # Courbes de densité pour la partie inférieure de la grille
    g.map_diag(sns.histplot)  # Histogrammes pour la partie diagonale
    g.map_upper(sns.scatterplot)  # Scatter plots pour la partie supérieure
    
    # Afficher la grille
    plt.show()
    Explication du code :

    Nous avons utilisé le jeu de données iris qui contient des mesures pour trois espèces de fleurs.

    1. sns.load_dataset("iris") : Charge le jeu de données iris intégré à Seaborn.

    2. sns.PairGrid(iris) : Crée une grille pour visualiser les relations entre toutes les paires de variables du DataFrame iris.

    3. g.map_lower(sns.kdeplot) : Affiche des courbes de densité sur la partie inférieure de la grille pour chaque combinaison de variables.

    4. g.map_diag(sns.histplot) : Affiche des histogrammes sur la diagonale pour chaque variable.

    5. g.map_upper(sns.scatterplot) : Affiche des graphiques en nuage de points pour chaque paire de variables sur la partie supérieure de la grille.

    6. plt.show() : Affiche la grille de graphiques générée.

    Remarques :

    • PairGrid est très flexible et permet de personnaliser les graphiques de chaque section de la grille (inférieure, supérieure, diagonale).

    • Cette fonction est très utile pour analyser des données multivariées en visualisant facilement les relations entre les variables.

    • Si vous souhaitez colorier les points en fonction d’une variable catégorielle, vous pouvez utiliser le paramètre hue. Par exemple : sns.PairGrid(iris, hue='species').