Try this: You seem to have found a problem. At any rate try this instead: pnl <- function(x, y, ...) { tt <- time(z) y <- matrix(y, length(tt)) for(j in 1:ncol(y)) panel.plot.default(tt, y[,j], ...) panel.lines(tt, baseline, lwd = 2, col = grey(0.5)) panel.lines(tt, b2) }
On Mon, Dec 14, 2009 at 3:19 PM, Jennifer Young <jennifer.yo...@math.mcmaster.ca> wrote: >> On Mon, Dec 14, 2009 at 11:30 AM, Jennifer Young >> <jennifer.yo...@math.mcmaster.ca> wrote: >>> splendid! >>> >>> This worked well, but there are two oddities that I can't resolve. >>> >>> 1. In the real data, the "baseline" is a cumulative probability plot >>> (from >>> simulations) rather than the straight line. The panel.lines plots this >>> curve, but seems to join the first and last points together. >>> panel.points(x, baseline, type="l") did the same. >>> I checked that the vector is indeed sorted properly, so I'm not sure why >>> it should connect the first point to the last. >> >> I can't reproduce the problem based on this description. > > sorry that was lazy of me. If you modify the code you gave me as follows > (with an extra line of the sqare root of "baseline", as an example) the > first and last points are joined. I didn't notice this before when > "baseline" was just a line. > > baseline <- (1:20)/20 > dat1 <- matrix(baseline,20,8) > dat <- dat1+matrix(rnorm(20*8)/30, 20,8) > b2<-sqrt(baseline) > pnl <- function(x, ...) { > panel.plot.default(x, ...) > panel.lines(x, baseline, lwd = 2, col = grey(0.5)) > panel.lines(x, b2) > } > nc <- ncol(dat) > screens <- rep(1:(nc/2), each = 2) > z <- zoo(dat) > colnames(z) <- paste("Group", screens) > xyplot(z, screens = screens , layout = c(2, 2), col = "black", lty = > 2, scales = list(y = list(relation = "same")), panel = pnl) > > >> >>> >>> 2. The screens are correctly labeled, but in the wrong order (left to >>> right, top to bottom: 3,4,1,2). Is this easily corrected? >> >> xyplot(..., as.table = TRUE) will give one reordering. >> >> Another possibility is: >> plt <- xplot(...) >> plt[ix] >> where ix is a permutation of 1:4 >> >>> > > as.table=TRUE did the trick thanks. > ______________________________________________ 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.