Comment ajouter des étiquettes à l’histogramme dans ggplot2 (avec exemple)



Vous pouvez utiliser la syntaxe de base suivante pour ajouter des étiquettes à un histogramme dans ggplot2 :

ggplot(data=df, aes(x=values_var)) + 
  geom_histogram(aes(fill=group_var), binwidth=1, color='black') +
  stat_bin(binwidth=1, geom='text', color='white', size=4,
           aes(label=..count.., group=group_var), position=position_stack(vjust=0.5))

Cet exemple particulier ajoute une étiquette blanche pour afficher le nombre de chaque bac dans chaque catégorie d’un histogramme.

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

Exemple : ajouter des étiquettes à l’histogramme 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(runif(100, 5, 10),
                          runif(100, 5, 10),
                          runif(100, 5, 10)))

#view head of data frame
head(df)

  team   points
1    A 6.327543
2    A 6.860619
3    A 7.864267
4    A 9.541039
5    A 6.008410
6    A 9.491948

Nous pouvons utiliser le code suivant pour créer un histogramme qui montre les points marqués par les joueurs de chaque équipe avec des étiquettes indiquant le décompte pour chaque bac :

library(ggplot2)

#create histogram with labels for each bin
ggplot(data=df, aes(x=points)) + 
  geom_histogram(aes(fill=team), binwidth=1, color='black') +
  stat_bin(binwidth=1, geom='text', color='white', size=4,
           aes(label=..count.., group=team), position=position_stack(vjust=0.5))

étiquettes d'histogramme ggplot

Notez que chaque bac a une étiquette qui affiche le nombre de chaque bac.

Notez que vous pouvez modifier les valeurs de couleur et de taille dans la fonction stat_bin() pour modifier respectivement la couleur et la taille des étiquettes.

Par exemple, nous pouvons utiliser la syntaxe suivante pour utiliser à la place des étiquettes noires avec une taille de police accrue :

library(ggplot2)

#create histogram with labels for each bin
ggplot(data=df, aes(x=points)) + 
  geom_histogram(aes(fill=team), binwidth=1, color='black') +
  stat_bin(binwidth=1, geom='text', color='black', size=6,
           aes(label=..count.., group=team), position=position_stack(vjust=0.5))

Les étiquettes de chaque bac utilisent désormais du texte noir et une taille de police plus grande.

N’hésitez pas à jouer avec les arguments de couleur et de taille dans la fonction stat_bin() pour faire apparaître les étiquettes comme vous le souhaitez.

Ressources additionnelles

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

Comment créer des histogrammes par groupe dans ggplot2
Comment afficher les pourcentages sur l’histogramme dans ggplot2
Comment définir le nombre de bacs pour un histogramme dans ggplot2

Ajouter un commentaire

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