geom_text是标记条的最佳方法吗?

时间:2019-11-09 18:51:00

标签: r ggplot2

我有以下数据:

https://gofile.io/?c=rvB9yp

我正在尝试在条形图上添加标签,标签应该是每个样本的观察数(间隔列),例如:样本NE1的值是“ 30到60”的7倍……依此类推。 / p>

我尝试了以下代码:

limit <- data$months + 5 ## set limit for geom_text

ggplot(data, aes( x = reorder(interval, months), y=months,fill = SAMPLE))+ 
geom_bar(position="dodge", stat="identity", size=.4, color = 'black')+
xlab('intervals (months)')+
ylab('months')+
geom_text(aes(label= SAMPLE, y = limit),
position=position_dodge(0.9), size=3,angle = 90,check_overlap = TRUE)

我总是这样!

https://ibb.co/8cjZDx3

有什么建议吗?也许不是geom_text做到这一点的最佳方法?

感谢S

1 个答案:

答案 0 :(得分:1)

我不知道如何在不修改数据的情况下获取数据的方法,因为似乎geom_text不会让您将label的统计信息与规定的y结合起来。

我认为以下内容可以满足您的需求:

data <- data %>% dplyr::group_by(interval, SAMPLE) %>% dplyr::summarise(months = max(months), nobs = n()) 

ggplot(data, aes( x = reorder(interval, months),y = months, fill = SAMPLE))+ 
  geom_bar( position="dodge", stat="identity", size=.4, color = 'black') +
  geom_text(aes(label = nobs), position = position_dodge(.9), hjust = -.5, size=3,angle = 90,check_overlap = TRUE) +
  xlab('intervals (months)')+
  ylab('months')