Skip to content

[R-es] varios mapas en un mismo plot con rasterVis

5 messages · Javier Martínez-López, Jose Quesada, Oscar Perpiñan

#
Hola de nuevo,

Ahora tengo otra duda, ¿puedo añadir anotaciones de texto a un
levelplot de rasterVis? Hasta ahora sólo he conseguido hacerlo a
posteriori con la función 'text' y llamando primero plot.new() porque
si no me da error. El problema es que necesito que las anotaciones
estén incluidas en el mapa que genero con levelplot porque luego uno
varios mapas con c(). Y ya que estamos... ¿se pueden poner escalas
geográficas y flechas de Norte en los mapas generados con levelplot de
rasterVis? No he visto nada al respecto... ; )

Muchas gracias!

Saludos,

Javier

2013/1/24 Oscar Perpiñan <oscar.perpinan en gmail.com>:
#
ok, la respuesta a la primera pregunta está aquí:
https://stat.ethz.ch/pipermail/r-sig-geo/2012-January/013984.html

... Gracias de nuevo Óscar, y respecto a lo de poner la escala
geográfica y la flecha de Norte, si alguien sabe algo sería de gran
ayuda!

Saludos,

Javier

2013/2/13 Javier Martínez-López <javi.martinez.lopez en gmail.com>:
#
Hola,

Envío un ejemplo para usar la flecha de Norte tal y como está definida
en el paquete sp. 

library(raster)
library(rasterVis)

f <- system.file("external/test.grd", package="raster")
r <- raster(f)

levelplot(r) + 
  layer(
  SpatialPolygonsRescale(layout.north.arrow(),
                         offset = c(181000,330500),
                         scale = 400)
)

Para añadir la escala hay que usar la función layout.scale.bar de un
modo similar a layout.north.arrow. En la página de ayuda de spplot hay
algún ejemplo al respecto. Otra opción es dibujarlo a la manera de uno
mismo usando grid.rect. Por ejemplo:


levelplot(r) + 
  layer({
    xs <- seq(181000, 181400, by=100)
    grid.rect(x=xs, y=330500,
                  width=100, height=30,
                  gp=gpar(fill=rep(c('transparent', 'black'), 2)),
                  default.units='native')
    grid.text(x= xs - 50, y=330560, seq(0, 400, by=100),
              gp=gpar(cex=0.4), rot=30,
              default.units='native')
    })

Saludos.

Oscar.

Javier Martínez-López <javi.martinez.lopez en gmail.com> writes:

  
    
#
Solucionado. Gracias a los dos!

Saludos,

Javier

2013/2/14 Oscar Perpiñán Lamigueiro <oscar.perpinan en gmail.com>: