Aan de slagGa gratis aan de slag

Choropleth-kaart

Nu je begrijpt hoe je polygonen tekent, zetten we je polygonen op een kaart. Onthoud: je vervangt je ggplot()-aanroep door een ggmap()-aanroep en de oorspronkelijke ggplot()-aanroep verplaats je naar het base_layer()-argument. Daarna voeg je zoals gewoonlijk je polygonenlaag toe:

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

Probeer het nu in de console!

Oei, er klopt iets niet. Wijken 1, 3 en 8 zien er hoekig en verkeerd uit. Wat is er gebeurd? Een deel van de wijkgrenzen ligt buiten de kaartrand. Door de standaardinstellingen in ggmap() wordt alle data buiten de kaart weggelaten vóór het plotten. Daardoor verdwijnen sommige polygonenranden en als de overgebleven punten worden verbonden, krijg je de verkeerde vormen.

Geen zorgen, er is een oplossing: ggmap() biedt argumenten om dit gedrag te sturen. De argumenten extent = "normal" samen met maprange = FALSE dwingen de plot om het datagebied in plaats van het kaartgebied te gebruiken om de plotgrenzen te bepalen.

Deze oefening maakt deel uit van de cursus

Georuimtelijke data visualiseren in R

Cursus bekijken

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Fix the polygon cropping
ggmap(corvallis_map_bw, 
      base_layer = ggplot(ward_sales, aes(lon, lat))) +
  geom_polygon(aes(group = group, fill = ward))
Code bewerken en uitvoeren