1. 学ぶ
  2. /
  3. コース
  4. /
  5. Wizualizacja danych geoprzestrzennych w R

Connected

演習

Rysowanie wielokątów

Mapa choropletyczna to mapa, na której wielokąty są kolorowane według wybranej zmiennej. W ramce danych ward_sales znajdziesz informacje o sprzedaży domów zagregowane na poziomie okręgów (ang. ward). Twoim celem jest stworzenie mapy, na której każdy okręg będzie pokolorowany według jednego z podsumowań: liczby sprzedaży lub średniej ceny sprzedaży.

Każdy wiersz ramki danych opisuje jeden punkt na granicy okręgu. Zmienne lon i lat określają jego położenie, a ward wskazuje, do którego okręgu należy. Co jednak oznaczają group i order?

Pamiętasz dwie trudne kwestie związane z wielokątami? Obszar może być opisany przez więcej niż jeden wielokąt, a kolejność punktów ma znaczenie. group to identyfikator pojedynczego wielokąta, ale okręg może składać się z więcej niż jednego wielokąta – w takim przypadku dla danego okręgu zobaczysz więcej niż jedną wartość group. order natomiast opisuje kolejność, w jakiej należy łączyć punkty, aby uzyskać prawidłowe kształty.

W ggplot2 wielokąty rysuje się za pomocą geom_polygon(). Każdy wiersz danych to jeden punkt na granicy, a punkty są łączone w kolejności, w jakiej występują w ramce danych. Zmienne opisujące położenie wskazujesz za pomocą estetyk x i y, a przynależność punktów do jednego wielokąta – za pomocą estetyki group.

To trochę zawiłe, więc zanim stworzysz docelowy wykres, przyjrzyjmy się temu bliżej.

指示1 / 4

undefined XP
  • 1

    Ramka danych ward_sales jest wczytana do twojego środowiska pracy. Możesz ją podejrzeć za pomocą head(ward_sales).

    • Dodaj warstwę geom_point() z estetyką color przypisaną do ward. Ile okręgów jest w Corvallis?
  • 2
    • Dodaj warstwę geom_point() z estetyką color przypisaną do group. Czy widzisz okręgi opisane przez więcej niż jeden wielokąt?
  • 3
    • Dodaj warstwę geom_path() z estetyką group przypisaną do group. Zwróć uwagę, jak punkty należące do tej samej grupy są ze sobą łączone.
  • 4
    • Na koniec dodaj warstwę geom_polygon() z estetyką fill przypisaną do ward i estetyką group przypisaną do group.