[R-es] Agrupar los terminos de la leyenda

Carlos Ortega cof en qualityexcellence.es
Mie Ago 7 14:32:47 CEST 2013


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>


Más información sobre la lista de distribución R-help-es