如何使用ggplot2在r中添加条形图频率的实际大小?

How to add the actual size of the frequency of barplots in r with ggplot2?

我想在每个栏上方添加实际数字。 我试过了,但没有用。我该如何解决? MP1 是 SPSS 文件,TBI 和 mp_1 是突变因子。

ggplot(MP1) +
  geom_bar(aes(x=TBI), fill=mp_1))+
  geom_text(aes(label=count), vjust=1.5, colour="white", size=3.5)

据我所知,您有一些 typos/syntax 问题,例如geom_bar() 行末尾的额外“)”,geom_text() 中没有 stat = "count"。这是一个使用 mtcars 数据集的可重现示例,它说明了一个潜在的解决方案:

library(ggplot2)

ggplot(mtcars) +
  geom_bar(aes(x = cyl)) +
  geom_text(stat = "count", aes(x = cyl, label = ..count..), 
            vjust = 1.5, colour = "white", size = 3.5)

reprex package (v2.0.0)

于 2021-07-28 创建

我无法用你的数据测试解决方案,因为你没有提供任何数据(请参阅 How to make a great R reproducible example),但我对你的情况的猜测是:

ggplot(MP1) +
  geom_bar(aes(x=TBI), fill="dodgerblue"))+
  geom_text(stat = "count", aes(x=TBI, label=..count..), vjust=1.5, colour="white", size=3.5)

为了创建堆叠条形图:

library(ggplot2)
ggplot(mtcars, aes(fill = factor(gear), x = factor(carb))) + 
  geom_bar(position = "stack") + 
  geom_text(stat = "count", aes(label = ..count..),
            position = position_stack(vjust = 0.5))

reprex package (v2.0.0)

于 2021-07-28 创建