我想在一个情节中绘制行为心理实验的两个结果:表现(通过正确答案的百分比来衡量)通过一个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))
感谢您提供任何帮助
答案 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))