3

这段代码

library(ggplot2)  

test=read.table(text= 
"group fillcd percent
1 1 73.2
1 2 73.8
1 3 78.6
2 1 78.1
2 2 95.6
2 3 95.5
", header=TRUE, sep=""  )        

test$fill <- factor(test$fillcd, labels=c("XX", "EE", "BB"))
test$text=paste(test$percent,"%")

ggplot(data=test, 
  aes(group, percent, fill=fill)) + 
    geom_bar(stat="identity",position="dodge")+
    coord_flip()+  
    geom_text(data = test, aes(y = percent, x = group, label = text ))

生成以下图表: 在此处输入图像描述

如何获得条形的中点以便在那里放置标签?

4

1 回答 1

6

我不确定您是指水平中点还是垂直中点,但以下示例可能会有所帮助:

ggplot(data=test, 
       aes(group, percent, fill=fill)) + 
         geom_bar(stat="identity",position=position_dodge(width = 0.9))+
         coord_flip()+  
         geom_text(data = test, aes(y = percent/2, x = group, label = text ), 
           position = position_dodge(width = 0.9))

在此处输入图像描述

关键是position_dodge

于 2012-05-31T02:22:00.410 回答