Diagramme en violon (2D)

Le diagramme en violon est une représentation graphique avancée qui combine les avantages du box plot et de l’estimation de la densité de probabilité. Il permet de visualiser non seulement les statistiques résumées d’une variable numérique, comme la médiane et les quartiles, mais aussi la forme complète de sa distribution.

Le diagramme en violon affiche la densité estimée des données de part et d’autre d’un axe vertical, formant une forme symétrique ressemblant à un violon. Cette visualisation donne une idée précise de la concentration des valeurs, des modes multiples, et des asymétries éventuelles dans la distribution.

Ce type de graphique est particulièrement utile pour :

Grâce à sa richesse visuelle, le diagramme en violon est un outil précieux en analyse exploratoire des données pour mieux comprendre la nature sous-jacente des distributions étudiées.

Fonctions :

  • px.violin()

    px.violin() crée un diagramme en violon interactif, qui combine un box plot et une estimation de la densité de probabilité d'une variable numérique, permettant de visualiser la distribution et la forme des données.

    Importation :

    import pandas as pd
    import plotly.express as px

    Attributs :

    Paramètre Type Description Valeur par défaut
    data_frame DataFrame Tableau de données source. Obligatoire
    y str Nom de la colonne numérique à représenter sur l’axe des ordonnées. Obligatoire
    x str Nom de la colonne catégorielle utilisée pour grouper les données (optionnel). None
    color str Colonne utilisée pour colorer les violons selon une catégorie. None
    box bool Si True, affiche un box plot à l’intérieur du violon. False
    points str Affiche les points individuels. Valeurs possibles : 'all', 'outliers', 'suspectedoutliers', 'False'. False
    title str Titre du graphique. None

    Exemple de code :

    import pandas as pd
    import plotly.express as px
    
    # Création d'un DataFrame
    data = {
        'Catégorie': ['X', 'X', 'Y', 'Y', 'X', 'Y', 'X', 'Y'],
        'Valeur': [5, 7, 8, 6, 9, 7, 6, 8]
    }
    
    df = pd.DataFrame(data)
    
    # Création du diagramme en violon
    fig = px.violin(df, x='Catégorie', y='Valeur', box=True, points='all', title='Distribution des valeurs par catégorie')
    
    # Affichage
    fig.show()
    Résultat du code

    Explication du code :

    importe les bibliothèques pandas et plotly.express.
    
    
    Création du DataFrame
    Le dictionnaire data contient deux colonnes : - 'Catégorie' (catégories), - 'Valeur' (valeurs numériques). df = pd.DataFrame(data) transforme ce dictionnaire en tableau.
    Création du diagramme en violon
    px.violin(...) crée un graphique interactif combinant densité et box plot : - x='Catégorie' pour grouper les données, - y='Valeur' pour la variable à distribuer, - box=True pour afficher un box plot à l’intérieur, - points='all' pour afficher tous les points individuels, - title='Distribution des valeurs par catégorie' pour le titre.
    Affichage
    fig.show() affiche le graphique.