Cómo crear un mapa de Dinamarca con ggmap


14

He instalado los siguientes dos paquetes:

library(ggmap)
library(maps)

He encontrado código en línea para crear un mapa mundial (ver más abajo). ¿Cómo hago zoom en la trama a nivel de país? Por ejemplo, Dinamarca .

ggplot()+
  borders("world", colour="gray50", fill="gray50")

Ingrese la descripción de la imagen aquí

Respuestas:


18

Si observamos ?bordersy, para más detalles ?map, vemos que podemos usar el regionsargumento:

ggplot() + borders(regions = "Denmark", colour = "gray50", fill = "gray50") 

ingrese la descripción de la imagen aquí


1
Además, un paquete muy hermoso para mapas es un folleto: es decirl <- leaflet() %>% setView(lat = 50.85045, lng = 4.34878, zoom=5) %>% addTiles(group="OSM")

@Julius Vainora: Gracias. ¿Puedo agregar capas a esta trama? Por ejemplo, si encuentro un conjunto de datos con "límites de estado"?

2
@David, sí, se pueden agregar capas, por ejemplo, + geom_point(data = data.frame(x = 12, y = 56), aes(x = x, y = y))agrega un punto.

1
Al usar mapas, es posible que desee agregar coord_cartesian(), de modo que la escala de los ejes xy y coincidan.
JAD

10

Obtenga los límites de Dinamarca en lat-long y use coord_fixed:

ggplot() + borders("world", colour="gray50", fill="gray50") + coord_fixed(xlim=c(7, 12), ylim=c(52, 58))

Ingrese la descripción de la imagen aquí

Puede obtener los límites del mappaquete:

> map("world", "Denmark", plot=FALSE)$range
[1]  8.121484 15.137110 54.628857 57.736916

Y es posible que desee expandirlos un poco para obtener un mejor espacio y más contexto.


@ cuando corro map("world","Denmark",plot=FALSE)$rangeme sale NULL?

Impar. ¿ map("world","Denmark")Produce un mapa de Dinamarca? ¿Qué pasa con "Francia" o "Bélgica"? ¿Utiliza nombres de países locales ("Danmark")? ¿ map("world")Dibuja un mapa? ¿ map("world",plot=FALSE)$namesDevuelve un vector de nombres de países / regiones? Si eso no funciona, entonces es muy extraño y deberías pedir una nueva Q o informar un error ...
Spacedman

@ Spacedan: Ninguno de ellos funciona ni por NULLerror. Pero puedo crear las tramas en las respuestas ...

1
Comience una nueva sesión limpia de R, ¿ library(maps)y luego intente? Tal vez tienes algo que enmascara la maps::mapfunción. Probablemente purrr::map? No utilice library(tidyverse).
Spacedman el

44
@ Spacedman: creo que está bien si uso mapas :: mapa. Tal vez pensó que la función de mapa del paquete Purrr ...
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.