绘制两个Y轴:置信区间

时间:2013-06-11 08:44:38

标签: r

我试图用误差条绘制几个点,两个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轴的不同面板中进行绘图。

有办法做到这一点吗?

1 个答案:

答案 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')

enter image description here