Gabor Grothendieck a écrit : >Note that before entering this you need: > >library(lattice) >library(grid) # to access the viewport function > >On 8/29/06, Gabor Grothendieck <[EMAIL PROTECTED]> wrote: > > >>Try this: >> >>xyplot(val ~ x, data = df, type = "p", >> col = as.numeric(df$f1), pch = as.numeric(df$f2)) >> >>key1 <- list(border = TRUE, colums = 2, text = list(levels(df$f1)), >> points = list(pch = 1:nlevels(df$f1)) >>) >> >>key2 <- list(border = TRUE, colums = 2, text = list(levels(df$f2)), >> points = list(pch = 20, col = 1:nlevels(df$f2)) >>) >> >>trellis.focus("panel", 1, 1) >>draw.key(key1, draw = TRUE, vp = viewport(.9, .9)) >>draw.key(key2, draw = TRUE, vp = viewport(.75, .9)) >>trellis.unfocus() >> >> >>On 8/29/06, Laurent Rhelp <[EMAIL PROTECTED]> wrote: >> >> >>>Dear R-list, >>> >>> I would like to use the lattice library to show several groups on >>>the same graph. Here's my example : >>> >>>## the data >>>f1 <- factor(c("mod1","mod2","mod3"),levels=c("mod1","mod2","mod3")) >>>f1 <- rep(f1,3) >>>f2 <- factor(rep(c("g1","g2","g3"),each=3),levels=c("g1","g2","g3")) >>>df <- data.frame(val=c(4,3,2,5,4,3,6,5,4), x=rep(c(1,2,3),3),f1=f1,f2=f2) >>>############################################################# >>>library(lattice) >>> >>>para.liste <- trellis.par.get() >>>superpose.symbol <- para.liste$superpose.symbol >>>superpose.symbol$pch <- c(1,2,3) >>>trellis.par.set("superpose.symbol",superpose.symbol) >>> >>># Now I can see the group according to the f1 factor (with a different >>>symbol for every modality) >>>xyplot( val~x, >>> data=df, >>> group=f1, >>> auto.key=list(space="right") >>> ) >>> >>># or I can see the group according to the f2 factor >>>xyplot( val~x, >>> data=df, >>> type="l", >>> group=f2, >>> auto.key=list(space="right",points=FALSE,lines=TRUE) >>> ) >>> >>>How can I do to highlight both the f1 and f2 factors on one panel with >>>the legends, using the lattice function ? >>> >>>Thanks >>> >>>______________________________________________ >>>R-help@stat.math.ethz.ch 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@stat.math.ethz.ch 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. > > > > Thank you, Gabor. The way to put the two legends is very interesting. For the graphs, in fact, my problem is to fit the data for every level of the f2 factor, showing the levels of the f1 factor in each panel and that for several surveys . Here's an example closer to my actual data :
## the data n <- 18 x1 <- seq(1,n) val1 <- -2*x1+50 val2 <- (-2*(x1-8)2)+100 val3 <- (-2*(x1-8)2)+50 y <- c(val1,val2,val3) x <- rep(x1,3) f1 <- rep(c("mod1","mod2","mod3"),each=n/3) f1 <- rep(f1,3) f2 <- rep(c("g1","g2","g3"),each=n) df <- data.frame(x=x,y=y,f1=f1,f2=f2) surveys <- factor(c(rep("survey1",n*3),rep("survey2",n*3),rep("survey3",n*3))) df <- rbind(df,df,df) df <- data.frame(df,surveys=surveys) ####################################################################### library(lattice) para.liste <- trellis.par.get() superpose.symbol <- para.liste$superpose.symbol superpose.symbol$pch <- c(1,2,3) trellis.par.set("superpose.symbol",superpose.symbol) xyplot( y~x | surveys, data=df, group=f1, auto.key=list(space="right") ) xyplot( y~x | surveys , data=df, type="l", group=f2, auto.key=list(space="right",points=FALSE,lines=TRUE) ) Certainly, I have to use the panel function but I don't know how to mark the f1 factor in each panel (I want to fit the values according to the f2 factor) ! ______________________________________________ R-help@stat.math.ethz.ch 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.