Hola Neo, esto es lo mejor que me ha salido. A ver si por lo menos te ayuda. Un saludo colores<-c("black", "green", "red", "steelblue", "purple") #creamos el vector de 5 colores que usaremos para unificar luego la leyenda y el grafico xyplot(V5 ~ dia | sol, groups=con, layout=c(1, 3), type= "l", pch=1, par.settings=simpleTheme(col=colores, col.line=colores), auto.key=list(title= "Con",space="right",border=F, columns=1,cex=0.7,lines=T,points=F,col=colores), scales=list(x=list(relation='same'), y=list(relation='same')), data=mat, strip.left = T, as.table = T, between = list(y = 0.5) ) --- ----------------------------------------- El mar, 6/8/13, neo <ericconchamunoz en gmail.com> escribió: Asunto: [R-es] Agrupar los terminos de la leyenda Para: "Lista R" <r-help-es en r-project.org> Fecha: martes, 6 de agosto, 2013 19:01 Estimada comunidad, hice un grafico con 3 paneles (asi creo que se dice, no?) usando lattice y tengo 15 diferentes curvas distribuidas entre estos 3 paneles, 5 curvas en cada uno de ellos. Cuando agrego una leyenda automatica me aparecen las 15 curvas todas juntas y mezcladas las que corresponden a diferentes paneles, ya que las ordena de acuerdo a la condicion "groups=..." que uno indica en el codigo, y no de acuerdo a "| factor" que es lo que necesito. Ademas utiliza diferentes colores para las 16 diferentes curvas, pero yo necesito que use solo 5 y los mismos en cada panel, es decir, que para asignar los colores use "| factor" y no "groups=" que es lo que, parece, hace por defecto. Hay algun modo de hacer esto automaticamente ? O se debe hacer a mano ? si es asi, alguien sabe como se hace ? El codigo que use para el grafico: xYplot(mat[,5] ~ dia | sol, con, data=mat, xlab="Time (days)", ylab="Growth (as % of control)" ,type="l", layout=c(1,3), auto.key=list(space="right",columns=1)) Adjunto el grafico que me sale y los datos. Muchas gracias de antemano ... Eric. -----Adjunto en línea a continuación----- _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: neo.jpeg Type: image/jpeg Size: 47624 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130807/1755a351/attachment-0001.jpeg>
Hola, Aunque un poco más elaborado, el resultado me parece más limpio (adjunto gráfico). He utilizado gran parte del código de "pepecb". Por otro lado (Neo) es recomendable que cuando incluyas una duda en la lista des también referencia de su sesión (comando de R: sesionInfo). La función que usas "xYplot()" es del paquete "Hmisc" y aunque está basada en el paquete lattice, la función no es igual a la "xyplot()". Saludos, Carlos Ortega www.qualityexcellence.es #--------------------------------------------------------- library(lattice) # Separate panels for each "sol" colores<-c("black", "green", "red", "steelblue", "purple") dec.df <- mat[mat$sol=="dec",] dec.gr <- xyplot( V5 ~ dia ,groups=con ,data=dec.df ,type="l", pch=1 ,main="DEC" ,par.settings=simpleTheme(col=colores , col.line=colores) ,auto.key=list(title= "Con",space="right",border=F, columns=1,cex=0.7,lines=T,points=F,col=colores) ,scales=list(x=list(relation='same'), y=list(relation='same')) ) lim.df <- mat[mat$sol=="lim",] lim.gr <- xyplot( V5 ~ dia ,groups=con ,data=lim.df ,type="l", pch=1 ,main="LIM" ,par.settings=simpleTheme(col=colores , col.line=colores) ,auto.key=list(title= "Con",space="right",border=F, columns=1,cex=0.7,lines=T,points=F,col=colores) ,scales=list(x=list(relation='same'), y=list(relation='same')) ) dol.df <- mat[mat$sol=="dol",] dol.gr <- xyplot( V5 ~ dia ,groups=con ,data=dol.df ,type="l", pch=1 ,main="DOL" ,par.settings=simpleTheme(col=colores , col.line=colores) ,auto.key=list(title= "Con",space="right",border=F, columns=1,cex=0.7,lines=T,points=F,col=colores) ,scales=list(x=list(relation='same'), y=list(relation='same')) ) #--------- arrange the three plots horizontally print(dec.gr, position=c(0, 0.65, 1, 1), more=TRUE) print(lim.gr, position=c(0, 0.33, 1, 0.68), more=TRUE) print(dol.gr, position=c(0, 0.02, 1, 0.36)) [image: Imágenes integradas 1] El 7 de agosto de 2013 11:05, pepeceb <pepeceb en yahoo.es> escribió:> Hola Neo, > esto es lo mejor que me ha salido. A ver si por lo menos te ayuda. > Un saludo > > > > > > > colores<-c("black", "green", "red", "steelblue", "purple") #creamos el > vector de 5 colores que usaremos para unificar luego la leyenda y el grafico > > > xyplot(V5 ~ dia | sol, groups=con, layout=c(1, 3), type= "l", pch=1, > par.settings=simpleTheme(col=colores, col.line=colores), > auto.key=list(title= "Con",space="right",border=F, > columns=1,cex=0.7,lines=T,points=F,col=colores), > scales=list(x=list(relation='same'), y=list(relation='same')), data=mat, > strip.left = T, > as.table = T, > between = list(y = 0.5) > > ) > > > > > > > > --- > ----------------------------------------- > El mar, 6/8/13, neo <ericconchamunoz en gmail.com> escribió: > > Asunto: [R-es] Agrupar los terminos de la leyenda > Para: "Lista R" <r-help-es en r-project.org> > Fecha: martes, 6 de agosto, 2013 19:01 > > Estimada comunidad, hice un grafico > con 3 paneles (asi creo que se dice, > no?) usando lattice y tengo 15 diferentes curvas > distribuidas entre > estos 3 paneles, 5 curvas en cada uno de ellos. > > Cuando agrego una leyenda automatica me aparecen las 15 > curvas todas > juntas y mezcladas las que corresponden a diferentes > paneles, ya que las > ordena de acuerdo a la condicion "groups=..." que uno indica > en el > codigo, y no de acuerdo a "| factor" que es lo que necesito. > Ademas > utiliza diferentes colores para las 16 diferentes curvas, > pero yo > necesito que use solo 5 y los mismos en cada panel, es > decir, que para > asignar los colores use "| factor" y no "groups=" que es lo > que, parece, > hace por defecto. > > Hay algun modo de hacer esto automaticamente ? > > O se debe hacer a mano ? si es asi, alguien sabe como se > hace ? > > > > El codigo que use para el grafico: > > xYplot(mat[,5] ~ dia | sol, con, data=mat, xlab="Time > (days)", > ylab="Growth (as % of control)" ,type="l", layout=c(1,3), > auto.key=list(space="right",columns=1)) > > Adjunto el grafico que me sale y los datos. > > Muchas gracias de antemano ... > > Eric. > > -----Adjunto en línea a continuación----- > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Saludos, Carlos Ortega www.qualityexcellence.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130807/cc0f5a25/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: image/png Size: 42207 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130807/cc0f5a25/attachment-0001.png>
Ok, lo hare, aunque no tenia idea que existia y era relevante la informacion de la sesion ... esa Y mayuscula en xyplot se me paso de intentos anteriores, sorry ... gracias a todos por su tiempo y las sugerencias. Saludos, Eric. On 08/07/2013 08:32 AM, Carlos Ortega wrote:> Hola, > > Aunque un poco más elaborado, el resultado me parece más limpio (adjunto > gráfico). > He utilizado gran parte del código de "pepecb". > > Por otro lado (Neo) es recomendable que cuando incluyas una duda en la > lista des también referencia de su sesión (comando de R: sesionInfo). La > función que usas "xYplot()" es del paquete "Hmisc" y aunque está basada > en el paquete lattice, la función no es igual a la "xyplot()". > > Saludos, > Carlos Ortega > www.qualityexcellence.es <http://www.qualityexcellence.es> > > #--------------------------------------------------------- > library(lattice) > # Separate panels for each "sol" > colores<-c("black", "green", "red", "steelblue", "purple") > > dec.df <- mat[mat$sol=="dec",] > dec.gr <http://dec.gr> <- xyplot( > V5 ~ dia > ,groups=con > ,data=dec.df > ,type="l", pch=1 > ,main="DEC" > ,par.settings=simpleTheme(col=colores , col.line=colores) > ,auto.key=list(title= "Con",space="right",border=F, > > columns=1,cex=0.7,lines=T,points=F,col=colores) > ,scales=list(x=list(relation='same'), > y=list(relation='same')) > ) > > > lim.df <- mat[mat$sol=="lim",] > lim.gr <http://lim.gr> <- xyplot( > V5 ~ dia > ,groups=con > ,data=lim.df > ,type="l", pch=1 > ,main="LIM" > ,par.settings=simpleTheme(col=colores , col.line=colores) > ,auto.key=list(title= "Con",space="right",border=F, > columns=1,cex=0.7,lines=T,points=F,col=colores) > ,scales=list(x=list(relation='same'), y=list(relation='same')) > ) > > > dol.df <- mat[mat$sol=="dol",] > dol.gr <http://dol.gr> <- xyplot( > V5 ~ dia > ,groups=con > ,data=dol.df > ,type="l", pch=1 > ,main="DOL" > ,par.settings=simpleTheme(col=colores , col.line=colores) > ,auto.key=list(title= "Con",space="right",border=F, > columns=1,cex=0.7,lines=T,points=F,col=colores) > ,scales=list(x=list(relation='same'), y=list(relation='same')) > ) > > #--------- arrange the three plots horizontally > print(dec.gr <http://dec.gr>, position=c(0, 0.65, 1, 1), more=TRUE) > print(lim.gr <http://lim.gr>, position=c(0, 0.33, 1, 0.68), more=TRUE) > print(dol.gr <http://dol.gr>, position=c(0, 0.02, 1, 0.36)) > > > Imágenes integradas 1 > > > > > > El 7 de agosto de 2013 11:05, pepeceb <pepeceb en yahoo.es > <mailto:pepeceb en yahoo.es>> escribió: > > Hola Neo, > esto es lo mejor que me ha salido. A ver si por lo menos te ayuda. > Un saludo > > > > > > > colores<-c("black", "green", "red", "steelblue", "purple") #creamos > el vector de 5 colores que usaremos para unificar luego la leyenda y > el grafico > > > xyplot(V5 ~ dia | sol, groups=con, layout=c(1, 3), type= "l", pch=1, > par.settings=simpleTheme(col=colores, col.line=colores), > auto.key=list(title= "Con",space="right",border=F, > columns=1,cex=0.7,lines=T,points=F,col=colores), > scales=list(x=list(relation='same'), y=list(relation='same')), > data=mat, > strip.left = T, > as.table = T, > between = list(y = 0.5) > > ) > > > > > > > > --- > ----------------------------------------- > El mar, 6/8/13, neo <ericconchamunoz en gmail.com > <mailto:ericconchamunoz en gmail.com>> escribió: > > Asunto: [R-es] Agrupar los terminos de la leyenda > Para: "Lista R" <r-help-es en r-project.org > <mailto:r-help-es en r-project.org>> > Fecha: martes, 6 de agosto, 2013 19:01 > > Estimada comunidad, hice un grafico > con 3 paneles (asi creo que se dice, > no?) usando lattice y tengo 15 diferentes curvas > distribuidas entre > estos 3 paneles, 5 curvas en cada uno de ellos. > > Cuando agrego una leyenda automatica me aparecen las 15 > curvas todas > juntas y mezcladas las que corresponden a diferentes > paneles, ya que las > ordena de acuerdo a la condicion "groups=..." que uno indica > en el > codigo, y no de acuerdo a "| factor" que es lo que necesito. > Ademas > utiliza diferentes colores para las 16 diferentes curvas, > pero yo > necesito que use solo 5 y los mismos en cada panel, es > decir, que para > asignar los colores use "| factor" y no "groups=" que es lo > que, parece, > hace por defecto. > > Hay algun modo de hacer esto automaticamente ? > > O se debe hacer a mano ? si es asi, alguien sabe como se > hace ? > > > > El codigo que use para el grafico: > > xYplot(mat[,5] ~ dia | sol, con, data=mat, xlab="Time > (days)", > ylab="Growth (as % of control)" ,type="l", layout=c(1,3), > auto.key=list(space="right",columns=1)) > > Adjunto el grafico que me sale y los datos. > > Muchas gracias de antemano ... > > Eric. > > -----Adjunto en línea a continuación----- > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org <mailto:R-help-es en r-project.org> > https://stat.ethz.ch/mailman/listinfo/r-help-es > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org <mailto:R-help-es en r-project.org> > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es <http://www.qualityexcellence.es>