如何在 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 )) 

ggplot 直方图标签

请注意,每个垃圾箱都有一个标签,显示每个垃圾箱的编号。

请注意,您可以更改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数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注