Comment créer des histogrammes par groupe dans ggplot2 (avec exemple)



Vous pouvez utiliser la syntaxe de base suivante pour créer un histogramme par groupe dans ggplot2 :

ggplot(df, aes(x=values_var, fill=group_var)) +
  geom_histogram(color='black', alpha=0.4, position='identity') +
  scale_fill_manual(values=c('red', 'blue', 'purple'))

Cet exemple particulier crée un tracé avec trois histogrammes superposés rouge, bleu et violet.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : créer un histogramme par groupe dans ggplot2

Supposons que nous ayons le bloc de données suivant dans R qui contient des informations sur les points marqués par les basketteurs de trois équipes différentes :

#make this example reproducible
set.seed(1)

#create data frame
df <- data.frame(team=rep(c('A', 'B', 'C'), each=100),
                 points=c(rnorm(100, mean=10),
                          rnorm(100, mean=15),
                          rnorm(100, mean=20)))

#view head of data frame
head(df)

  team    points
1    A  9.373546
2    A 10.183643
3    A  9.164371
4    A 11.595281
5    A 10.329508
6    A  9.179532

Nous pouvons utiliser le code suivant pour créer des histogrammes qui affichent la répartition des points marqués par chacune des trois équipes :

library(ggplot2)

#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
  geom_histogram(color='black', alpha=0.4, position='identity') +
  scale_fill_manual(values=c('red', 'blue', 'purple'))

Les trois histogrammes représentent la répartition des points marqués par les joueurs de chaque équipe.

La légende sur le côté droit du tracé montre quelle couleur correspond à chaque équipe.

Notez que l’argument color spécifie la couleur du contour des barres dans chaque histogramme et l’argument alpha spécifie la transparence (entre 0 et 1) à utiliser pour les barres.

En définissant la valeur d’ alpha sur une valeur inférieure à 1, nous pouvons voir les barres qui se chevauchent entre les histogrammes.

N’hésitez pas à utiliser la fonction labs() pour modifier les étiquettes dans le tracé et choisissez un thème ggplot2 qui correspond à votre style :

library(ggplot2)

#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
  geom_histogram(color='black', alpha=0.4, position='identity') +
  scale_fill_manual(values=c('red', 'blue', 'purple')) +
  labs(fill='Team', x='Points Scored', y='Count', title='Points Scored by Team') +
  theme_classic()

histogramme ggplot2 par groupe

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment créer un histogramme de fréquence relative dans R
Comment tracer plusieurs boîtes à moustaches dans un seul graphique dans R
Comment tracer plusieurs lignes dans un graphique dans R

Ajouter un commentaire

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