Hola,
Al hacer base+nubes+preci estás utilizando la función "+.trellis" de
latticeExtra. Con esta función consigues superponer los distintos objetos
como capas de la imagen, pero sólo se conserva la leyenda de la primera
(base en tu caso).
Puedes usar print.trellis para pintar todos las capas en paneles
independientes cada uno con su leyenda. Por ejemplo, con dos gráficos:
print(p, split=c(1, 1, 1, 2), more=TRUE)
print(p2, split=c(1, 2, 1, 2))
Si quieres superponer y además conseguir todas las leyendas, la cosa se
complica bastante. Suponiendo que esto
(http://oscarperpinan.github.io/spacetime-vis/images/popLandClass.png) es lo
que quieres, aquà tienes código para una posible solución:
https://github.com/oscarperpinan/spacetime-vis/blob/master/raster.R#L200. El
detalle de cómo generar la leyenda multivariable lo tienes a partir de la
linea 261.
Saludos.
Oscar.
Oscar Perpiñán Lamigueiro
Dpto. IngenierÃa Eléctrica (ETSIDI-UPM)
Grupo de Sistemas Fotovoltaicos (IES-UPM)
URL: http://oscarperpinan.github.io
Twitter: @oscarperpinan
LinkedIn: http://es.linkedin.com/in/oscarperpinan
El 06/02/2014 16:24, "Jose" <jmprietob en gmail.com> escribió:
Buenas tardes,
Estoy probando a leer archivos netcdf (como raster stack) y crear
animaciones de datos de modelos climáticos y estaba utilizando para
generar las imágenes spplot(). Estás imágenes tienes superpuestas
varias capas de imagenes, el mdt de base, nubosidad, precipitación y
nieve. Mi pregunta es la siguiente,¿es posible visualizar la leyenda
de cada una de las capas?
Actualmente solo visualizo la de la capa base, el mdt.
base<-spplot(mdt,col.regions=colMDT, at=pMDT,main=paste(idx[1]),
par.settings = list(panel.background=list(col="aquamarine")))
nubes<- spplot(n[[1]],col.regions=colsN, at=pN)
preci <- spplot(p[[1]],col.regions=colsP, at=pP)
png(paste("precipitacion.png",sep=""),width=600, height=600,bg="white")
print(base+nubes+preci)
dev.off()
Esto serÃa un ejemplo de lo que hago:
https://drive.google.com/file/d/0B7R8FPPQAigaaE1Td2RWLS1qdGM/edit?usp=sharing
Un saludo
José Manuel Prieto