Labels toevoegen aan histogram in ggplot2 (met voorbeeld)
U kunt de volgende basissyntaxis gebruiken om labels toe te voegen aan een histogram in 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 ))
Dit specifieke voorbeeld voegt een wit label toe om het aantal van elke bak in elke categorie van een histogram weer te geven.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: labels toevoegen aan histogram in ggplot2
Stel dat we het volgende dataframe in R hebben dat informatie bevat over de punten die zijn gescoord door basketbalspelers uit drie verschillende teams:
#make this example reproducible
set. seeds (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
We kunnen de volgende code gebruiken om een histogram te maken dat de punten weergeeft die door spelers van elk team zijn gescoord, met labels die de telling voor elke bak aangeven:
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 ))
Houd er rekening mee dat elke bak een label heeft waarop het nummer van elke bak staat.
Houd er rekening mee dat u de kleur- en groottewaarden in de stat_bin() -functie kunt wijzigen om respectievelijk de kleur en de grootte van de labels te wijzigen.
We kunnen bijvoorbeeld de volgende syntaxis gebruiken om in plaats daarvan zwarte labels met een grotere lettergrootte te gebruiken:
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 ))
Etiketten voor elke bak gebruiken nu zwarte tekst en een grotere lettergrootte.
Voel je vrij om te spelen met de argumenten kleur en grootte in de functie stat_bin() om de labels te laten verschijnen zoals jij dat wilt.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe histogrammen per groep te maken in ggplot2
Hoe percentages op histogram in ggplot2 worden weergegeven
Hoe het aantal bakken voor een histogram in ggplot2 in te stellen