我有以下数据:
我正在尝试在条形图上添加标签,标签应该是每个样本的观察数(间隔列),例如:样本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)
我总是这样!
有什么建议吗?也许不是geom_text做到这一点的最佳方法?
感谢S
答案 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')