我正在尝试获取发生在 4 个位置(1、2、3、4 - 下文)的事件数据(A、B、C 和 D - 下文)。我想将它们绘制为填充的堆积条,以显示每个事件(A、B、C、D)对该位置的贡献,并且我想显示这些贡献的整数值。我不仅想查看单个值(如下所示),还想查看总贡献——我不知道该怎么做。
所以有两个问题:1:不仅打印堆叠条的各个值,而且(甚至,单独/仅)打印顶部的总值。2:文本标签在其值的任何偏移处打印,因此它们相互覆盖并且不在条内排列。我更喜欢它们在子栏内的某个地方,例如中间或顶部。
a <- c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,1,1,1,2)
b <- c('A','B','C','D','A','A','B','C','B','B','C','C','C','D','D','A','A','B','C','D')
df <- data.frame(a, b)
我想对此进行总结 - 所以这里是 table()
table(df$a, df$b)
A B C D
1 2 2 2 1
2 2 1 1 1
3 0 2 2 0
4 1 0 1 2
现在回到使用 ggplot 进行绘图的 data.frame:
df2 <- data.frame(table(df$a, df$b))
然后绘制它:
library(ggplot2)
ggplot(df2, aes(x=Var1, y=Freq, fill=Var2, label=Freq)) +
geom_bar(stat="identity") +
geom_text(stat="identity")
我真的很感激帮助。我是否不需要通过表格来整理我的数据框来汇总它,然后再回到数据框中?我可以得到条的总高度并打印该标签吗?
我觉得如果我不使用填充,我可以得到 ..count.. 值但是 stat="bin",但是因为我已经去了 stat="identity" 我似乎无法做到这一点总结价值。
谢谢!