IniziaInizia gratis

Mappa coropletica

Ora che sai come disegnare i poligoni, mettiamo i tuoi poligoni su una mappa. Ricorda: sostituisci la chiamata a ggplot() con una a ggmap() e la chiamata originale a ggplot() va nell’argomento base_layer(), poi aggiungi il layer dei poligoni come al solito:

ggmap(corvallis_map_bw,
      base_layer = ggplot(ward_sales,
                          aes(lon, lat))) +
  geom_polygon(aes(group = group, fill = ward))

Provalo ora nella console!

Ops, qualcosa non torna. I distretti 1, 3 e 8 sembrano frastagliati e sbagliati. Che è successo? Parte dei confini dei distretti va oltre il bordo della mappa. A causa delle impostazioni predefinite di ggmap(), tutti i dati fuori mappa vengono scartati prima del plot, quindi alcuni bordi dei poligoni vengono eliminati e, quando i punti rimanenti vengono uniti, ottieni forme errate.

Nessun problema, c’è una soluzione: ggmap() offre alcuni argomenti per controllare questo comportamento. Gli argomenti extent = "normal" insieme a maprange = FALSE obbligano il grafico a usare l’intervallo dei dati invece dell’intervallo della mappa per definire i limiti del plotting.

Questo esercizio fa parte del corso

Visualizzare dati geospaziali in R

Visualizza il corso

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Fix the polygon cropping
ggmap(corvallis_map_bw, 
      base_layer = ggplot(ward_sales, aes(lon, lat))) +
  geom_polygon(aes(group = group, fill = ward))
Modifica ed esegui il codice