我发现了这个How to put labels over geom_bar in R with ggplot2,但它只是将标签(数字)放在一个条上。
这里是,假设每个x轴有两个条,怎么做同样的事情?
我的数据和代码如下所示:
dat <- read.table(text = "sample Types Number
sample1 A 3641
sample2 A 3119
sample1 B 15815
sample2 B 12334
sample1 C 2706
sample2 C 3147", header=TRUE)
library(ggplot2)
bar <- ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = 'dodge') + geom_text(aes(label=Number))
然后,我们将得到:
似乎数字文本也位于“闪避”模式中。 我搜索了geom_text manual来查找一些信息,但无法使其正常工作。
连连呢?
答案 0 :(得分:111)
试试这个:
ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = 'dodge', stat='identity') +
geom_text(aes(label=Number), position=position_dodge(width=0.9), vjust=-0.25)
答案 1 :(得分:3)
添加到rcs&#39;回答,如果你想在x是POSIX.ct日期时使用position_dodge()和geom_bar(),你必须将宽度乘以86400,例如,
ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = "dodge", stat = 'identity') +
geom_text(aes(label=Number), position=position_dodge(width=0.9*86400), vjust=-0.25)