Os dejo un ggplot versión. Usted necesita escribir más códigos. Pero, si te gusta la manipulación de sus mapas con más detalles, yo diría que darle un tiro. He utilizado GADM de datos para dibujar el mapa principal; he descargado el archivo con getData()
en la raster
paquete. Entonces, yo solía fortify()
con el fin de generar un marco de datos para ggplot. Entonces, yo dibujé el mapa principal. El uso de scale_x_continuous()
y scale_y_continuous()
, se puede colgar el mapa. El ggsn
paquete le permite agregar la dirección de la flecha y la barra de escala. Tenga en cuenta que usted necesita para especificar dónde desea que ellos. Para la inserción de un mapa, puede utilizar un pequeño de datos para dibujar los Estados. Así que he usado map_data("state")
. Me dibujó un mapa y lo envolvió con ggplotGrob()
. Usted necesita para crear un grob objeto para crear un recuadro mapa más tarde. Por último, utilice annotation_custom()
y agregar el recuadro del mapa al mapa principal.
library(raster)
library(ggplot2)
library(ggthemes)
library(ggsn)
mapdata <- getData("GADM", country = "usa", level = 1)
mymap <- fortify(mapdata)
mypoint <- data.frame(long = -121.6945, lat = 39.36708)
g1 <- ggplot() +
geom_blank(data = mymap, aes(x=long, y=lat)) +
geom_map(data = mymap, map = mymap,
aes(group = group, map_id = id),
fill = "#b2b2b2", color = "black", size = 0.3) +
geom_point(data = mypoint, aes(x = long, y = lat),
color = "black", size = 2) +
scale_x_continuous(limits = c(-125, -114), expand = c(0, 0)) +
scale_y_continuous(limits = c(32.2, 42.5), expand = c(0, 0)) +
theme_map() +
scalebar(location = "bottomleft", dist = 200,
dd2km = TRUE, model = 'WGS84',
x.min = -124.5, x.max = -114,
y.min = 33.2, y.max = 42.5) +
north(x.min = -115.5, x.max = -114,
y.min = 40.5, y.max = 41.5,
location = "toprgiht", scale = 0.1)
foo <- map_data("state")
g2 <- ggplotGrob(
ggplot() +
geom_polygon(data = foo,
aes(x = long, y = lat, group = group),
fill = "#b2b2b2", color = "black", size = 0.3) +
geom_point(data = mypoint, aes(x = long, y = lat),
color = "black", size = 2) +
coord_map("polyconic") +
theme_map() +
theme(panel.background = element_rect(fill = NULL))
)
g3 <- g1 +
annotation_custom(grob = g2, xmin = -119, xmax = -114,
ymin = 31.5, ymax = 36)