我是R和ggplot库的新手,我正在尝试构建带有错误栏的条形图,如下所示:
pd <- position_dodge(0.80)
ggplot(aqp1) + geom_bar( aes(x=Type, y=Error, fill=Set, colour=Set, group=Set), width=0.75, stat="identity", alpha=1, position=pd)
+ geom_errorbar( aes(x=Type, ymin=Error,ymax=Max.Error, colour=NULL, group=Set), position=pd, width=0.1, colour="black", alpha=1, size=0.1)
+ theme_light() + labs(title="", x="Sizes", y="Relative error (%)")
唯一的是我想对y轴进行对数缩放,因此我尝试使用scale_y_log10
函数:
ggplot(aqp1) + geom_bar( aes(x=Type, y=Error, fill=Set, colour=Set, group=Set), width=0.75, stat="identity", alpha=1, position=pd)
+ geom_errorbar( aes(x=Type, ymin=Error,ymax=Max.Error, colour=NULL, group=Set), position=pd, width=0.1, colour="black", alpha=1, size=0.1)
+ theme_light() + labs(title="", x="Sizes", y="Relative error (%)")
+ scale_y_log10(breaks = trans_breaks("log10", function(x) 10^x), labels = trans_format("log10", math_format(10^.x)))
但是我有一个奇怪的结果,误差条的刻度与条形图不同。
我该如何解决?我尝试使用+ ylim(10^-2, 10^1)
,但不起作用。
答案 0 :(得分:0)
我只想引用@ eipi10
条形图在对数刻度上不能很好地工作,因为条形的基线设置为1(10 ^ 0)而不是零
这说明了为什么图像出错。