Sorry, I missed your point the first time. Why not create a group for each subset then?
xyplot(y ~ x, temp, groups = interaction(cex, groups), par.settings = list( superpose.symbol = list( cex = c(1, 2, 3, 4), pch = 19, col = c("blue", "red", "green", "purple")))) On Tue, Mar 10, 2009 at 8:11 AM, Paul C. Boutros <paul.bout...@utoronto.ca> wrote: > Hi Sundar, > > Thanks for your help! Unfortunately your code seems to give the same > result. Compare this: > > temp <- data.frame( > x = 1:10, > y = 1:10, > cex = rep( c(1,3), 5), > col = c( rep("blue", 5), rep("red", 5) ), > groups = c( rep("A", 5), rep("B", 5) ) > ); > > xyplot(y ~ x, temp, groups = groups, > par.settings = list( > superpose.symbol = list( > cex = c(1, 3), > pch = 19, > col = c("blue", "red")))) > > And this: > xyplot(y ~ x, temp, cex = temp$cex, col = temp$col, pch = 19); > > Once I introduce groups, I lose the ability to customize individual > data-points and seem only to be able to customize entire groups. > > Paul > > -----Original Message----- > From: Sundar Dorai-Raj [mailto:sdorai...@gmail.com] > Sent: Tuesday, March 10, 2009 5:49 AM > To: paul.bout...@utoronto.ca > Cc: r-help@r-project.org > Subject: Re: [R] Lattice: Customizing point-sizes with groups > > Try this: > > xyplot(y ~ x, temp, groups = groups, > par.settings = list( > superpose.symbol = list( > cex = c(1, 3), > pch = 19, > col = c("blue", "red")))) > > See: > > str(trellis.par.get()) > > for other settings you might want to change. > > Also, you should drop the ";" from all your scripts. > > HTH, > > --sundar > > On Mon, Mar 9, 2009 at 6:49 PM, Paul Boutros <paul.bout...@utoronto.ca> > wrote: >> Hello, >> >> I am creating a scatter-plot in lattice, and I would like to customize the >> size of each point so that some points are larger and others smaller. >> Here's a toy example: >> >> library(lattice); >> >> temp <- data.frame( >> x = 1:10, >> y = 1:10, >> cex = rep( c(1,3), 5), >> groups = c( rep("A", 5), rep("B", 5) ) >> ); >> >> xyplot(y ~ x, temp, cex = temp$cex, pch = 19); >> >> This works just fine if I create a straight xy-plot, without groups. >> However when I introduce groupings the cex argument specifies the >> point-size for the entire group. For example: >> >> xyplot(y ~ x, temp, cex = temp$cex, pch = 19, group = groups); >> >> Is it possible to combine per-spot sizing with groups in some way? One >> work-around is to manually specify all graphical parameters, but I thought >> there might be a better way than this: >> >> temp$col <- rep("blue", 10); >> temp$col[temp$groups == "B"] <- "red"; >> xyplot(y ~ x, temp, cex = temp$cex, pch = 19, col = temp$col); >> >> Any suggestions/advice is much appreciated! >> Paul >> >> ______________________________________________ >> 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. >> > > ______________________________________________ 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.