1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wizualizacja danych geoprzestrzennych w R

Connected

ćwiczenie

Mapa choropletyczna

Teraz, gdy wiesz już, jak rysować wielokąty, czas umieścić je na mapie. Pamiętaj: wywołanie ggplot() zastępujesz wywołaniem ggmap(), a oryginalne wywołanie ggplot() przenosi się do argumentu base_layer(). Następnie dodajesz warstwę wielokątów jak zwykle:

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

Wypróbuj to teraz w konsoli!

Coś jest nie tak. Okręgi 1, 3 i 8 wyglądają dziwnie i niepoprawnie. Co się stało? Część granic okręgów wykracza poza obszar mapy. Domyślnie ggmap() usuwa dane spoza zakresu mapy przed rysowaniem, przez co niektóre fragmenty granic wielokątów są pomijane – a łącząc pozostałe punkty, otrzymujesz niepoprawne kształty.

Nie martw się, jest na to rozwiązanie: ggmap() oferuje argumenty pozwalające kontrolować to zachowanie. Argumenty extent = "normal" oraz maprange = FALSE wymuszają użycie zakresu danych – zamiast zakresu mapy – do wyznaczenia granic wykresu.

Instrukcje 1/3

undefined XP
  • 1
    • Zaktualizuj wywołanie ggmap(), aby naprawić przycinanie wielokątów.
      • Ustaw extent na "normal", a maprange na FALSE.
  • 2
    • Zaktualizuj wykres, zastępując kolor wypełnienia wielokątów z ward na num_sales.
  • 3
    • Zaktualizuj wykres ponownie, mapując fill na avg_price. Dodatkowo ustaw alpha na 0.8 w wywołaniu geom_polygon(), aby mapa była widoczna pod spodem.