Začněte nyníZačněte zdarma

Choropletová mapa

Teď, když víš, jak kreslit polygony, přidáme je na mapu. Pamatuj si, že volání ggplot() nahradíš voláním ggmap() a původní ggplot() přesuneš do argumentu base_layer(). Polygonovou vrstvu pak přidáš jako obvykle:

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

Vyzkoušej to teď v konzoli!

Cosi není v pořádku. Čtvrti 1, 3 a 8 vypadají roztřepeně a nesprávně. Co se stalo? Část hranic čtvrtí leží mimo hranice mapy. Kvůli výchozímu nastavení ggmap() jsou data mimo mapu před vykreslením odstraněna – některé hranice polygonů tak chybí a po spojení zbývajících bodů vzniknou nesprávné tvary.

Neboj se, řešení existuje: ggmap() nabízí argumenty pro ovládání tohoto chování. Argumenty extent = "normal" spolu s maprange = FALSE zajistí, že hranice vykreslení se budou řídit rozsahem dat, nikoli rozsahem mapy.

Toto cvičení je součástí kurzu

Vizualizace geoprostorových dat v R

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Fix the polygon cropping
ggmap(corvallis_map_bw, 
      base_layer = ggplot(ward_sales, aes(lon, lat))) +
  geom_polygon(aes(group = group, fill = ward))
Upravit a spustit kód