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
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))