Matplotlib : Comment créer des boxplots par groupe



Vous pouvez utiliser la syntaxe suivante pour créer des boxplots par groupe dans Matplotlib :

import matplotlib as plt
import seaborn as sns

sns.boxplot(x='group', y='values', data=df)

Les exemples suivants montrent comment utiliser cette syntaxe pour créer des boîtes à moustaches par groupe pour des ensembles de données au format long et au format large.

Exemple 1 : Boxplots par groupe pour les données longues

Le code suivant montre comment créer des boxplots par groupe pour un DataFrame pandas dans un format long :

import pandas as pd
import numpy as np
import matplotlib as plt
import seaborn as sns

#create long-form data
df = pd.DataFrame({'points': [7, 8, 9, 12, 14, 5, 6, 6, 8, 11, 8, 9, 11, 13, 17],
                   'team': np.repeat(['A', 'B', 'C'], 5)})

#view data
print(df)

    points team
0        7    A
1        8    A
2        9    A
3       12    A
4       14    A
5        5    B
6        6    B
7        6    B
8        8    B
9       11    B
10       8    C
11       9    C
12      11    C
13      13    C
14      17    C

#create boxplot by group
sns.boxplot(x='team', y='points', data=df)

Boîte à moustaches Matplotilb par groupe

Exemple 2 : boîtes à moustaches par groupe pour des données au format large

Le code suivant montre comment créer des boxplots par groupe pour un DataFrame pandas au format large :

import pandas as pd
import numpy as np
import matplotlib as plt
import seaborn as sns

#create wide-form data
df = pd.DataFrame({'A': [7, 8, 9, 12, 14],
                   'B': [5, 6, 6, 8, 11],
                   'C': [8, 9, 11, 13, 17]})

#view data
print(df)

    A   B   C
0   7   5   8
1   8   6   9
2   9   6  11
3  12   8  13
4  14  11  17

#create boxplot by group
sns.boxplot(x='variable', y='value', data=pd.melt(df)).set(
            xlabel='team', 
            ylabel='points')

Boîte à moustaches Matplotilb par groupe

Ressources additionnelles

Comment tracer plusieurs lignes dans Matplotlib
Comment créer des graphiques à barres empilées dans Matplotlib

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *