我想要在条形图上绘制两个值。一个值具有置信区间(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不相同。