我试图用误差条绘制几个点,两个y轴。 但是,在每次调用plotCI或errbar函数时,都会初始化一个新的图 - 有或没有par(new = TRUE)次调用 - 。
require(plotrix)
x <- 1:10
y1 <- x + rnorm(10)
y2<-x+rnorm(10)
delta <- runif(10)
plotCI(x,y=y1,uiw=delta,xaxt="n",gap=0)
axis(side=1,at=c(1:10),labels=rep("a",10),cex=0.7)
par(new=TRUE)
axis(4)
plotCI(x,y=y2,uiw=delta,xaxt="n",gap=0)
我也尝试过 plotrix 中的 twoord.plot 功能,但我不认为可以添加错误栏。
使用 ggplot2 ,我只能在两个具有相同Y轴的不同面板中进行绘图。
有办法做到这一点吗?
答案 0 :(得分:2)
使用add=TRUE
,
如果为FALSE(默认值),则创建一个新图;如果为TRUE,则向其添加错误栏 现有情节。
例如,最后一行变为:
plotCI(x,y=y2,uiw=delta,xaxt="n",gap=0,add=TRUE)
![在此处输入图片说明] [1]
PS:很难用ggplot2
做到这一点。看看this hadley code
修改强>
现在通过指定新的usr设置重新定义用户坐标系。我在这里做得很好。
plotCI(x,y=y1,uiw=delta,xaxt="n",gap=0)
axis(side=1,at=c(1:10),labels=rep("a",10),cex=0.7)
usr <- par("usr")
par(usr=c(usr[1:2], -1, 20))
plotCI(x,y=y2,uiw=delta,xaxt="n",gap=0,add=TRUE,col='red')
axis(4,col.ticks ='red')