我有以下示例数据集:
Sample,Zeitpunkt,Target,NRQ,SD
"Ctrl","42wk","Ccl12",0.02288218,0.02693519
我需要使用对数y标度。 MWE如下所示:
library("ggplot2")
Cc <- ggplot(test, aes(x=Sample, y=NRQ, fill=Zeitpunkt, ymin=NRQ-SD, ymax=NRQ+SD))
Cc <- Cc + geom_bar(stat="identity", position="dodge")
Cc <- Cc + scale_y_log10(breaks=c(0.01,0.1,1,10,100), limits=c(0.00001,200))
Cc <- Cc + annotation_logticks(base = 10, sides="l")
Cc <- Cc + guides(fill = guide_legend(keywidth = 0.6, keyheight = 0.6))
Cc <- Cc + geom_errorbar(linetype=1, size=0.5, width=0, position=position_dodge(0.9))
哪个应该产生错误条。但事实并非如此:
到目前为止我们发现的是:
0.02288218 < 0.02693519
。包含dodge
命令是因为我们需要它来包含更多数据的实际绘图,所以包含它会很好。 有没有办法在这种情节中绘制误差线?
非常感谢!
答案 0 :(得分:0)
我意识到这个问题很老了,但我遇到了类似的问题
我找到了解决方案。当我将+ scale_X_log10()
添加到ggplot
时,我的所有错误栏都被删除了。我也在情节中添加了+ position=position_dodge(2.5)
。删除此命令或将其减少到position=position_dodge(.025)
会将我的错误栏返回到适当的位置。但是,在将y轴缩放到log10时,我无法复制此问题。