如何在 ggplot2 中向直方图添加标签(带有示例)
您可以使用以下基本语法向 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 ))
此特定示例添加一个白色标签来显示直方图每个类别中每个 bin 的计数。
以下示例展示了如何在实践中使用此语法。
示例:在 ggplot2 中向直方图添加标签
假设我们在 R 中有以下数据框,其中包含来自三个不同球队的篮球运动员得分的信息:
#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
我们可以使用以下代码创建一个直方图,显示每支球队球员的得分,并带有指示每个箱的得分的标签:
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 ))
请注意,每个垃圾箱都有一个标签,显示每个垃圾箱的编号。
请注意,您可以更改stat_bin()函数中的颜色和大小值来分别更改标签的颜色和大小。
例如,我们可以使用以下语法来代替使用增大字体大小的黑色标签:
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 ))
每个垃圾箱的标签现在使用黑色文本和更大的字体大小。
请随意使用stat_bin()函数中的颜色和大小参数,使标签按您想要的方式显示。
其他资源
以下教程解释了如何在 R 中执行其他常见任务:
如何在ggplot2中按组创建直方图
如何在ggplot2中的直方图上显示百分比
如何在ggplot2中设置直方图的bin数