ggplot中的标签从R表中躲过条形图

时间:2014-12-14 05:01:53

标签: r ggplot2 bar-chart

我有下面的代码表:

tt = structure(c(7L, 13L, 24L, 30L, 30L, 38L, 35L, 45L, 37L, 
43L, 38L, 59L, 33L, 45L, 37L, 58L), .Dim = c(2L, 8L), .Dimnames = structure(list(param = c("A", 
"B"), xvar = c("5", "6", "7", "8", "9", "10", "11", "12")), .Names = c("param", "xvar")), class = "table")
tt
     xvar
param  5  6  7  8  9 10 11 12
    A  7 24 30 35 37 38 33 37
    B 13 30 38 45 43 59 45 58

dd = data.frame(tt)
ggplot(dd, aes(xvar, Freq, fill=param))+ 
   geom_bar(stat='identity',position='dodge')+
   geom_text(aes(label=Freq), position='dodge' , vjust=2)

enter image description here

但价值观并没有被“躲过”并保持在中心位置。他们怎么能正确地放在他们的酒吧?谢谢你的帮助。

2 个答案:

答案 0 :(得分:5)

使用position=position_dodge(...)代替position="dodge"

dd <- as.data.frame(tt)
ggplot(dd, aes(xvar, Freq, fill=param))+ 
  geom_bar(stat='identity',position='dodge')+
  geom_text(aes(label=Freq), position=position_dodge(width=.9),vjust=2)

答案 1 :(得分:0)

上面的答案很好,但是只有在ggplot调用中有fill=param时,它才有效。