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))
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