[R] lattice color problem with symbols: bug?
Sundar Dorai-Raj
sundar.dorai-raj at pdf.com
Fri Jan 11 20:12:52 CET 2008
Stefan Grosse said the following on 1/11/2008 10:04 AM:
> 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...)
>
> Stefan
>
Hi, Stefan
You need to use "fill = 'transparent'" in your par.settings call. If
you're not using a fill color, you probably should use pch = c(0, 5)
instead. This is explained under pch on the ?points help page.
Here's a modified version of your example:
library(lattice)
test <- data.frame(x = c(2, 3, 1, 5),
u = rep(1:2, each = 2),
g = paste("t", rep(1:2, 2), sep = ""))
xyplot(x ~ u, data = test, groups = g,
par.settings = list(
superpose.symbol = list(
pch = c(22, 23),
cex = c(1.7, 1.6),
fill = c("red", "blue"),
col = "black")),
auto.key = list(space = "bottom"))
HTH,
--sundar
More information about the R-help
mailing list