Box plots

Fonctions :

  • plt.boxplot()

    : La fonction plt.boxplot() de Matplotlib permet de créer un boxplot (ou diagramme en boîte). Ce graphique est utilisé pour visualiser la répartition statistique d’un jeu de données en montrant la médiane, les quartiles et les valeurs extrêmes (outliers). Il est particulièrement utile pour repérer les distributions asymétriques, les valeurs aberrantes et pour comparer plusieurs ensembles de données.

    Importation :

    import matplotlib.pyplot as plt

    Attributs :

    Nom Type Description
    x array_like ou DataFrame Les données à afficher. Peut être un tableau 1D ou 2D, ou un DataFrame pandas.
    notch bool, optionnel Si True, crée une boîte en "encoche" autour de la médiane pour représenter un intervalle de confiance à 95 %.
    vert bool, optionnel Si True, les boîtes sont verticales (par défaut). Si False, elles sont horizontales.
    patch_artist bool, optionnel Si True, les boîtes sont remplies avec une couleur.
    widths float ou array_like, optionnel Largeur des boîtes. Peut être un nombre fixe ou un tableau de valeurs pour chaque boîte.
    meanline bool, optionnel Si True, une ligne représentant la **moyenne** est tracée dans la boîte.
    showmeans bool, optionnel Si True, la moyenne est affichée sur le boxplot (lorsqu'on utilise `meanline=True`).
    showfliers bool, optionnel Si True, les **valeurs aberrantes** (outliers) sont affichées.
    flierprops dict, optionnel Propriétés pour les outliers (ex. couleur, taille).

    Exemple de code :

    import matplotlib.pyplot as plt
    import numpy as np
    
    # Générer des données aléatoires
    data = np.random.randn(1000)
    
    # Créer un boxplot
    plt.boxplot(data, notch=True, vert=False, patch_artist=True, showmeans=True)
    
    # Ajouter un titre et des labels
    plt.title("Boxplot de la distribution des données")
    plt.xlabel("Valeur")
    plt.ylabel("Distribution")
    
    # Afficher le boxplot
    plt.show()
    Résultat du code

    Explication du code :

    La ligne import matplotlib.pyplot as plt importe la bibliothèque matplotlib.pyplot, renommée ici en plt, qui est utilisée pour créer des visualisations graphiques.

    La ligne import numpy as np importe la bibliothèque NumPy, renommée ici en np, utilisée pour effectuer des calculs numériques efficaces.

    Générer des données aléatoires

    La fonction np.random.randn(1000) génère un tableau de 1000 valeurs aléatoires suivant une distribution normale centrée réduite (moyenne 0, écart-type 1).

    Ces données sont stockées dans la variable data.

    Créer un boxplot

    La fonction plt.boxplot() crée un diagramme en boîte (boxplot) permettant de visualiser la distribution d’un jeu de données.

    Le paramètre notch=True ajoute une encoche pour indiquer l’intervalle de confiance autour de la médiane.

    Le paramètre vert=False oriente le boxplot horizontalement (par défaut, il est vertical).

    Le paramètre patch_artist=True permet de remplir la boîte avec de la couleur.

    Le paramètre showmeans=True affiche la moyenne des données à l’intérieur du boxplot.

    Ajouter un titre et des labels

    La fonction plt.title() ajoute un titre au graphique (ici "Boxplot de la distribution des données").

    plt.xlabel() définit le label de l’axe des abscisses (ici "Valeur").

    plt.ylabel() définit le label de l’axe des ordonnées (ici "Distribution").

    Afficher le boxplot

    La fonction plt.show() affiche le graphique à l’écran.

  • sns.boxplot()

    La fonction sns.boxplot() de Seaborn permet de créer un boxplot (diagramme en boîte) similaire à celui de Matplotlib mais avec des options de personnalisation et une esthétique plus soignée par défaut. Le boxplot permet de visualiser la répartition des données, notamment la médiane, les quartiles et les valeurs aberrantes. Elle est utilisée pour analyser la distribution des données, identifier les outliers et comparer différentes catégories.

    Importation :

    import seaborn as sns

    Attributs :

    Nom Type Description
    x, y array_like, DataFrame, ou series pandas Les données à tracer. Si `y` est spécifié, `x` est automatiquement défini comme l'axe des catégories.
    hue str, optionnel Permet de séparer les données en fonction d'une autre variable pour ajouter de la couleur (comme un regroupement par catégorie).
    data DataFrame, optionnel Source des données à utiliser. Si non spécifié, les variables `x`, `y` doivent être des tableaux ou séries.
    notch bool, optionnel Si True, ajoute des encoches autour de la médiane pour indiquer un intervalle de confiance à 95 %.
    orient {‘v’, ‘h’}, optionnel Orientation du graphique. Par défaut, le boxplot est vertical (`v`), mais il peut aussi être horizontal (`h`).
    palette str ou palette, optionnel Palette de couleurs pour le boxplot. Permet de définir des couleurs spécifiques pour les catégories ou l'ensemble des boîtes.
    width float, optionnel Largeur des boîtes.
    fliersize float, optionnel Pointes de taille des outliers (valeurs aberrantes).
    showmeans bool, optionnel Si True, affiche la moyenne des données sur le boxplot.

    Exemple de code :

    import seaborn as sns
    import matplotlib.pyplot as plt
    import numpy as np
    
    # Générer des données aléatoires pour deux groupes
    data = np.random.randn(1000)
    category = np.random.choice(['A', 'B'], size=1000)
    
    # Créer un boxplot avec couleur différente pour chaque catégorie
    sns.boxplot(x=category, y=data, hue=category, notch=True, palette='Set2', showmeans=True)
    
    # Ajouter un titre et des labels
    plt.title("Boxplot avec Seaborn")
    plt.xlabel("Catégorie")
    plt.ylabel("Valeur")
    
    # Afficher le graphique
    plt.show()
    Résultat du code

    Explication du code :

    La ligne import seaborn as sns importe la bibliothèque Seaborn, renommée ici en sns, qui facilite la création de visualisations statistiques attractives.

    La ligne import matplotlib.pyplot as plt importe la bibliothèque matplotlib.pyplot pour afficher les graphiques.

    La ligne import numpy as np importe la bibliothèque NumPy pour la manipulation de données numériques.

    Générer des données aléatoires pour deux groupes

    La ligne data = np.random.randn(1000) génère 1000 valeurs aléatoires suivant une distribution normale (moyenne 0, écart-type 1), stockées dans la variable data.

    La ligne category = np.random.choice(['A', 'B'], size=1000) crée un tableau de 1000 éléments, chacun étant aléatoirement choisi entre les catégories 'A' et 'B'.

    Créer un boxplot avec couleur différente pour chaque catégorie

    La fonction sns.boxplot() crée un diagramme en boîte à l’aide de Seaborn.

    Le paramètre x=category indique que l’axe des abscisses correspond aux catégories 'A' et 'B'.

    Le paramètre y=data indique que l’axe des ordonnées correspond aux valeurs numériques générées.

    Le paramètre hue=category permet de colorer les boîtes en fonction des catégories (légende automatiquement générée).

    Le paramètre notch=True ajoute une encoche autour de la médiane.

    Le paramètre palette='Set2' applique une palette de couleurs prédéfinie aux catégories.

    Le paramètre showmeans=True affiche la moyenne dans chaque boîte.

    Ajouter un titre et des labels

    La fonction plt.title() ajoute un titre au graphique.

    plt.xlabel() définit le label de l’axe horizontal (ici "Catégorie").

    plt.ylabel() définit le label de l’axe vertical (ici "Valeur").

    Afficher le graphique

    La fonction plt.show() rend visible le graphique à l’écran.