2017-01-18 9 views
1

と信頼区間を追加は、次のデータが与えられたバープロットにラベル

ggplot(df.plot, aes(x=x, y=Score, fill=Condition)) + 
    geom_bar(position = 'dodge', stat='identity', width=.5) + 
    xlab(NULL) + coord_cartesian(ylim=c(0,100)) + 
    geom_text(aes(label=round(Score,2)), position=position_dodge(width=0.5), vjust=-0.25) 

「B」バーに信頼区間を追加して、27.5から76.1。これらの値をグラフに表示することをお勧めします。

私は、この情報を含むようにを変更し、geom_errorbarを使用してみましたが、私はendup 2回の間隔でintead一つだけ条件「B」

df.plot <- data.frame(x=c("outcome name","outcome name"), 
         Condition=c("A","B"), 
         Score=c(41.5,51.8), 
         lb = c(NULL,27.5), 
         ub = c(NULL,76.1)) 

ggplot(df.plot, aes(x=x, y=Score, fill=Condition)) + 
    geom_bar(position = 'dodge', stat='identity', width=.5) + 
    xlab(NULL) + coord_cartesian(ylim=c(0,100)) + 
    geom_errorbar(aes(ymin = lb, ymax = ub), 
       width = 0.2, 
       linetype = "dotted", 
       position = position_dodge(width = 0.5), 
       color="red", size=1) + 
    geom_text(aes(label=round(Score,2)), position=position_dodge(width=0.5), vjust=-0.25) 

enter image description here

のための最後に、私はどのようにわかりません間隔の上部と下部にラベルを追加します。

答えて

2

NAが欠落している値に使用されていないNULL

これは、あなたが期待するように動作するはずです:

df.plot <- data.frame(x=c("outcome name","outcome name"), 
        Condition=c("A","B"), 
        Score=c(41.5,51.8), 
        lb = c(NA,27.5), 
        ub = c(NA,76.1)) 


ggplot(df.plot, aes(x=x, y=Score, fill=Condition)) + 
    geom_bar(position = 'dodge', stat='identity', width=.5) + 
    xlab(NULL) + coord_cartesian(ylim=c(0,100)) + 
    geom_errorbar(aes(ymin = lb, ymax = ub), 
      width = 0.2, 
      linetype = "dotted", 
      position = position_dodge(width = 0.5), 
      color="red", size=1) + 
    geom_text(aes(label=round(Score,2)), position=position_dodge(width=0.5), vjust=-0.25) + 
    geom_text(aes(y = lb, label = lb), position=position_dodge(width=0.5), vjust=2) 

improved version

関連する問題