ggplot2 + geom_errorbar:只绘制一个值的误差条,留下第二个w / o误差条

时间:2015-02-04 10:54:06

标签: r ggplot2

我想要在条形图上绘制两个值。一个值具有置信区间(CI)而另一个值不具有置信区间(CI)。我无法弄清楚如何只绘制第一个值的误差条。我尝试将第二个值的上限和下限设置为第二个值。这确实导致没有误差条,但是在条的边缘上稍微更粗的线与所述误差条的宽度一致。有一个更整洁的伎俩吗?这是一个小样本。

hleftHem <- data.frame(roi = ROIs[iRoi], names = c("control","patient"), 
                          means = c(oldBetas[iRoi,2],patBetas[iPat,iRoi]), 
                          upperCIs = c(oldBetas[iRoi,"CI+"], patBetas[iPat,iRoi]),
                          lowerCIs = c(oldBetas[iRoi,"CI-"], patBetas[iPat,iRoi]))
    p1 <- ggplot(leftHem, aes(x=names, y=means, fill=names)) + 
      geom_bar(colour="black",position=position_dodge(), stat="identity", width = .5) +
      scale_fill_manual(values=cbPalette) + # To use for fills, add
      geom_errorbar(aes(ymin=lowerCIs, ymax=upperCIs), 
                    width=.15,                    # Width of the error bars
                    position=position_dodge(.9)) +
      guides(fill=FALSE) +
      theme(text = element_text(size=20),
            axis.text.x = element_text(angle=90, vjust=1)) +  
      xlab("ROI") + ylab("Parameter estimates [a.u.]") + ggtitle(paste(roi))

首先绘制误差条并不理想,因为上下CI不相同。

0 个答案:

没有答案