On 9/23/08, Pascal A. Niklaus <[EMAIL PROTECTED]> wrote: > Hi all, > > I am trying to produce some panels with dots in an X/Y plane where the > diameter of the dots indicates a Z value (like e.g. earthquake maps where dot > sizes indicate magnitudes and X/Y the location). > > This works fine with xyplot, e.g.: > > xyplot(1:3~1:3,cex=1:3,pch=16) > > However, when I do this with a panel variable, e.g.: > > x<-rep(1:3,5) > y <- rep(1:3,5) > sz <- rep(1:5,each=3) > grp <- factor(rep(1:5,each=3)) > xyplot(y~x | grp , cex=sz) > > then sz in the cex argument is not applied per group as I would expect. Same > for other arguments like col. > > Is this really the intended behaviour?
Yes. Graphical arguments like 'cex' get passed to the panel function directly, which needs to deal with it appropriately. > How can I achieve what I want, i.e., that the cex argument is different for > the different levels of grp? Write your own panel function that extracts the appropriate subset of 'cex'. xyplot(y~x | grp , cex=sz, panel = function(x, y, cex, subscripts, ...) { panel.xyplot(x, y, cex = cex[subscripts], subscripts = subscripts, ...) }) -Deepayan ______________________________________________ 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.