将总直方图计数添加到 R 中 ggplot 的构面

Adding total histogram count to facets in ggplot in R

我想绘制一个分面直方图并在每个图上添加文本以指示该分面的观察总数。因此,对于 carb = 1,总计数为 7,carb = 2,总计数为 10,依此类推。

p <- ggplot(mtcars, aes(x = mpg, stat = "count",fill=as.factor(carb))) + geom_histogram(bins = 8)
p <- p + facet_grid(as.factor(carb) ~ .)
p

我可以使用 table 函数来完成此操作,但对于更复杂的分面,我该如何快速完成?

你可以试试这个。也许不是最佳选择,因为您必须为标签定义 xy 位置(这是在 Labels 中为 xgeom_text() 中完成的对于 y 和 3)。但它可以帮助你:

#Other
library(tidyverse)
#Create similar data for labels
Labels <- mtcars %>% group_by(carb) %>% summarise(N=paste0('Number is: ',n()))
#X position
Labels$mpg <- 25
#Plot
ggplot(mtcars, aes(x = mpg, stat = "count",fill=as.factor(carb))) + geom_histogram(bins = 8)+
  geom_text(data = Labels,aes(x=mpg,y=3,label=N))+facet_grid(as.factor(carb) ~ .)