1. 학습
  2. /
  3. 강의
  4. /
  5. Vizualizace geoprostorových dat v R

Connected

연습 문제

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.

지침 1/3

undefined XP
  • 1
    • Uprav volání ggmap(), aby se polygony správně ořízly.
      • Nastav extent na "normal" a maprange na FALSE.
  • 2
    • Uprav graf tak, aby se barva výplně polygonů změnila z ward na num_sales.
  • 3
    • Uprav graf znovu tak, aby fill odpovídalo avg_price. Zároveň nastav alpha na 0.8 ve volání geom_polygon(), aby byla mapa vidět skrz polygony.