tmpar <- par(mar=c(1.5,0,0,0)) diam <- .2 tmp <- diam / sqrt(2) tmp2 <- sqrt(2) tmp3 <- 3*tmp2/2 plot(c(-diam,tmp3+diam),c(-diam,1+diam),type="n",xaxt="n",yaxt="n", xlab="",ylab="") mtext("Split Plot",1,at=.25) circle(0,.5,diam,cen=0) text(0,.5,"subplot\nerror") arrow(c(tmp,.5-tmp),c(.5+tmp,1-tmp),2) circle(.5,1,diam,cen=0) text(.5,1,"B") arrow(c(tmp,.5-tmp),c(.5-tmp,tmp),2) circle(.5,0,diam,cen=0) text(.5,0,"A*B") abline(v=(.5+tmp2)/2,lty=3) mtext("Whole Plot",1,at=(tmp2+tmp3)/2) arrow(c(diam,tmp2-diam),c(.5,.5),2,lty=2) circle(tmp2,.5,diam,cen=0) text(tmp2,.5,"plot\nerror") arrow(c(tmp2+diam,tmp3-diam),c(.5,.5),2) circle(tmp3,.5,diam,cen=0) text(tmp3,.5,"A") par(tmpar)