On 1/11/08, Stefan Grosse <[EMAIL PROTECTED]> wrote: > Dear useR's, > > I have a problem with the lattice plotting of some symbols: > > library(lattice) > > test<-data.frame(x=c(2,3,1,5),u=c(rep(1,2),rep(2,2)),g=c(rep(c(1,2),2))) > > xyplot(x~u,groups=g, > data=test, > par.settings=list( > superpose.symbol=list(pch=c(22, 23),cex=c(1.7,1.6),col="black") > ), > key=list( > text=list(c("t1","t2")), > space = "bottom",pch=c(23, 22), > points=F, > cex=1.0, > col="black" > ), > ) > > As you see the symbols which have been plotted into the plotting area appear > to have some filling color while in the legend there is no filling color > although the specification of the symbols is the same. > > If I use a normal plot command, the symbols are also not filled: > plot(c(1,2,3),c(1,2,3),pch=c(22,23,24),cex=1.5) > > That problem must have occured during a recent lattice update since the color > was not there when I was plotting a year ago with R2.5.x and some older > lattice. It occurs on my linux as well as on my windows machine both with R > 2.6.1 and latest lattice from CRAN. > > So here my questions: How do I get rid of the color? (or is it a bug?) If it > is a feature, so how do I determine the color in both the symbols in the > legend and in the plot itself? (Actually I was overlaying two plots e.g. one > colored diamond and one empty diamond to achieve that effect but if there is > a more efficient way to draw bordered symbols with customized color that > would be preferable...)
It's a change in behaviour (in the sense that the default fill is no longer transparent). Otherwise there doesn't seem to be any bug. The whole point of using par.settings is so that you can use auto.key, and xyplot(x~u,groups=g, data=test, par.settings=list( superpose.symbol=list(pch=c(22, 23),cex=c(1.7,1.6),col="black") ), auto.key = list(space = "bottom")) gives a consistent legend. If you want the fill color to be transparent, just specify fill="transparent" as Sundar suggested (but then why are you using these plotting characters?). Something like col = "black", fill = c("transparent", "black") should give you filled and empty characters. -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.