[R-es] Agrupar los terminos de la leyenda

neo ericconchamunoz en gmail.com
Vie Ago 9 17:35:48 CEST 2013


Muchas gracias por todas las sugerencias queridos amigos, finalmente lo
hice de este modo, aunque claro, todas las opciones sirven porque van
allanando el camino para que encuentres tu propia opcion:


library(lattice)
# Separate panels for each "sol"
colores<-c("purple", "darkgreen", "red", "steelblue", "black")

dec.df <- mat[mat$sol=="dec",]
dec.gr <- xyplot(
                  V5 ~ dia
                 ,groups=con
                 ,data=dec.df
                 ,type="l", pch=1
                 ,main=list(label="Dec", cex=0.9, x = .175, y = -4.5)
                 ,par.settings=simpleTheme(col=colores, col.line=colores)
                 ,auto.key=list(title= "Con",space="right",border=F,

columns=1,cex=0.9,lines=T,points=F,col=colores)
                 ,scales=list(x=list(relation='same'),
y=list(relation='same'))
                 ,ylab=""
                 ,xlab=""
                 ,ylim=c(-0.2,1.8)
                 )

lim.df <- mat[mat$sol=="lim",]
lim.gr <- xyplot(
		  V5 ~ dia
		  ,groups=con
		  ,data=lim.df
		  ,type="l", pch=1
		  ,main=list(label="Lim", cex=0.9, x = .2, y = -4.5)
		  ,par.settings=simpleTheme(col=colores , col.line=colores)
		  ,auto.key=list(title= "Con",space="right",border=F,
				 columns=1,cex=0.9,lines=T,points=F,col=colores)
		  ,scales=list(x=list(relation='same'), y=list(relation='same'))
			,xlab=""
			,ylab="Growth (% of control)"
                 ,ylim=c(-0.2,1.8)		
)


dol.df <- mat[mat$sol=="dol",]
dol.gr <- xyplot(
		  V5 ~ dia
		  ,groups=con
		  ,data=dol.df
		  ,type="l", pch=1
		  ,main=list(label="Dol", cex=0.9, x = .175, y = -4.5)
		  ,par.settings=simpleTheme(col=colores , col.line=colores)
		  ,auto.key=list(title= "Con",space="right",border=F,
				 columns=1,cex=0.9,lines=T,points=F,col=colores)
		  ,scales=list(x=list(relation='same'), y=list(relation='same'))
                 ,xlab="Time (days)"
                 ,ylab=""
                 ,ylim=c(-0.2,1.8)
)

#--------- arrange the three plots horizontally
print(dec.gr, position=c(0.029	,0.6	,1	,1	), more=TRUE)
print(lim.gr, position=c(0	,0.3	,1	,0.7	), more=TRUE)
print(dol.gr, position=c(0.029	,0	,1	,0.4	))



Solo hice unos pequeños ajustes para poner los titulos (main) dentro de
los graficos y usar una unica etiqueta para los tres graficos en los
ejes X e Y.

Saludos y muchas gracias,

Eric.









On 08/09/2013 07:43 AM, pepeceb wrote:
> 
> Bueno, una pequeña vuelta de tuerca más usando ggplot.. Aunque no quedó tan limpio como el de Carlos (gran resolucion) tambien te sirve.
> Un saludo
> 
> 
> 
> library(ggplot2)
> dec.df <- mat[mat$sol=="dec",]
> lim.df <- mat[mat$sol=="lim",]
> dol.df <- mat[mat$sol=="dol",]
> 
> dec.dr<-qplot(dia,V5,sol,data=dec.df,color=con2,geom=c("line"),facets=.~sol)
> 
> lim.dr <- qplot(dia,V5,sol,data=lim.df,color=con2,geom=c("line"),facets=.~sol)
> dol.dr <- qplot(dia,V5,sol,data=dol.df,color=con2,geom=c("line"),facets=.~sol)
> 
> 
> grid.newpage() # Open a new page on grid device
> 
> pushViewport(viewport(layout = grid.layout(3, 1))) # Assign to device viewport with 2 by 2 grid layout
> 
> print(dec.dr, vp = viewport(layout.pos.row = 1, layout.pos.col = 1:1))
> print(lim.dr, vp = viewport(layout.pos.row = 2, layout.pos.col = 1:1))
> print(dol.dr, vp = viewport(layout.pos.row = 3, layout.pos.col = 1:1, width=0.3, height=0.3, x=0.8, y=0.8))
> 
> Cree con2 para convertir con en factor.
> 
> Saludos
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 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))
>>
>>
>> _______________________________________________
>> 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: 0crecim.png
Type: image/png
Size: 49137 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130809/50aa9011/attachment-0001.png>


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