Come creare una mappa della Danimarca con ggmap


14

Ho installato i seguenti due pacchetti:

library(ggmap)
library(maps)

Ho trovato il codice online per creare una mappa del mondo (vedi sotto). Come posso ingrandire la trama a livello di paese? Ad esempio, la Danimarca .

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

Inserisci qui la descrizione dell'immagine

Risposte:


18

Se guardiamo ?borderse, per saperne di più ?map, vediamo che possiamo usare l' regionsargomento:

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

inserisci qui la descrizione dell'immagine


1
Inoltre, un opuscolo molto bello per le mappe è il volantino: iel <- leaflet() %>% setView(lat = 50.85045, lng = 4.34878, zoom=5) %>% addTiles(group="OSM")

@Julius Vainora: grazie. Posso aggiungere livelli a questa trama? Ad esempio, se trovo un set di dati con "limiti di stato"?

2
@David, sì, è possibile aggiungere layer, ad esempio + geom_point(data = data.frame(x = 12, y = 56), aes(x = x, y = y))aggiunge un punto.

1
Quando usi le mappe, potresti voler aggiungere coord_cartesian(), in modo che la scala degli assi xe y corrisponda.
JAD

10

Scopri i limiti della Danimarca in lat-long e usa coord_fixed:

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

Inserisci qui la descrizione dell'immagine

Puoi ottenere i limiti dal mappacchetto:

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

E potresti voler espanderli un po 'per una spaziatura migliore e più contesto.


@ quando corro map("world","Denmark",plot=FALSE)$rangeottengo NULL?

Dispari. Non map("world","Denmark")produrre una mappa della Danimarca? Che dire di "Francia" o "Belgio"? Utilizza i nomi dei paesi locali ("Danmark")? Disegna map("world")una mappa? Fa map("world",plot=FALSE)$namestornare un vettore di nomi di paese / regione? Se quelli non funzionano, allora è molto strano e dovresti chiedere una nuova Q o segnalare un bug ...
Spacedman

@ Spacedan: nessuno di questi funziona NULLo errore. Ma posso creare le trame nelle risposte ...

1
Avvia una nuova sessione R pulita, fai library(maps), quindi prova? Forse hai qualcosa che maschera la maps::mapfunzione. Probabilmente purrr::map? Non usare library(tidyverse).
Spaziato

4
@ Spacedman: penso che vada bene se uso maps :: map. Forse pensava che la funzione della mappa dal pacchetto purrr ...
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.