Okay, I solved it. After using the same arguments for "scales" (in particular: relation="free"), the plots are perfectly aligned.
Cheers, Marius On 2010-08-24, at 20:39 , Marius Hofert wrote: > Dear expeRts, > > I would like to have four plots appearing in one figure. The minimal example > shows this. However, the four figures are not properly aligned. Why? If I > comment out the scales=... arguments, then it works, but I would like to use > this... :-) > > Cheers, > > Marius > > > > library(lattice) > set.seed(1) > > ## plot: xyplot, histogram, qqplot, acf > res.plots <- function(x){ > > x.max <- max(abs(min(x)),abs(max(x))) > > ## xyplot > x0 <- 1 > x1 <- length(x) > y0 <- -x.max > y1 <- x.max > xy <- xyplot(x~(1:length(x)),xlim=c(x0,x1),ylim=c(y0,y1), > > aspect=1,scales=list(relation="free",alternating=c(1,1),tck=c(1,0))) > > ## histogram > x0 <- -x.max > x1 <- x.max > h <- histogram(x,xlim=c(x0,x1),aspect=1,type="density", > scales=list(relation="free",alternating=c(1,1),tck=c(1,0))) > > ## qqplot > y0 <- -x.max > y1 <- x.max > qq <- > qqmath(x,ylim=c(y0,y1),aspect=1,scales=list(tck=c(1,0),y=list(rot=90)), > panel=function(...){ > panel.qqmath(...) > panel.qqmathline(x) > }) > > ## ACF > myacf <- acf(x,plot=F,lag.max=24) > x0=0 > x1=24 > y0=-1 > y1=1 > ACF <- xyplot(0~0,xlim=c(x0,x1),ylim=c(y0,y1),aspect=1, > scales=list(tck=c(1,0),y=list(rot=90)), > panel=function(...){ > for(i in 1:24){ > panel.segments(i,0,i,myacf$acf[i]) > } > panel.abline(h=0) > }) > > ## plot function > plot.list <- list(xy,qq,h,ACF) > counter <- 1 > trellis.device(pdf,paper="special",width=6,height=6,file="myplot.pdf") > for(i in 1:2){ > for(j in 1:2){ > if(i==2 && j==2) print(plot.list[[counter]], split=c(j,i,2,2)) > else print(plot.list[[counter]], split=c(j,i,2,2), more=TRUE) > counter <- counter + 1 > } > } > dev.off() > > } > > > x <- rexp(1000) > res.plots(x) > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.