R:结合条形图和线图; x轴上的线点和刻度线未与条形图对齐

时间:2015-07-24 11:10:40

标签: r plot bar-chart line-plot

我想在一个情节中绘制行为心理实验的两个结果:表现(通过正确答案的百分比来衡量)通过一个marplot和反应时间(以ms为单位)通过线图。

除了一件事之外,我已经把所有的东西都搞清楚了:x轴上的刻度线和线图中的点不与条的中心对齐。有人建议将条形图保存为对象,然后使用" at ="适用于x轴上的刻度,但不适用于线图中的点。我也无法使用" line"功能,因为比例不同(条形图左侧为.7-1.0,线条图右侧为400-900)。

par(mar=c(6, 4, 4, 4))
m<-barplot(c(0.87,0.83,0.79),ylim=c(0.7,1),xpd=FALSE,ylab="% correct")
axis(1,at=m,labels=c("cond. A", "cond. B", "cond. C"))
par(new=T)
plot(c(720, 800, 830), pch=15, ,ylim=c(400,900), xlab="", ylab="",      
      axes=F, type="b")
mtext("reaction time [ms]",side=4,line=2.5)
axis(4, ylim=c(400,900))

感谢您提供任何帮助

1 个答案:

答案 0 :(得分:1)

在第二张图上,将xlims设置为barplot的{​​{1}}。使用par('usr')获取当前限制(长度为4的向量; xmin,xmax,ymin,ymax)。然后,当您绘制线条时,可以使用m作为x位置,它会排成一行,因为您的xlims也排成一行。

par(mar=c(6, 4, 4, 4))
m<-barplot(c(0.87,0.83,0.79),ylim=c(0.7,1),xpd=FALSE,ylab="% correct")
axis(1,at=m,labels=c("cond. A", "cond. B", "cond. C"))
xlims <- par('usr')[1:2] # <-- get xlims
par(new=T)
plot(m, c(720, 800, 830), # <-- supply x coords
     pch=15, ,ylim=c(400,900), xlab="", ylab="",      
      axes=F, type="b", xlim=xlims) # <-- supply xlims
mtext("reaction time [ms]",side=4,line=2.5)
axis(4, ylim=c(400,900))
相关问题