Przykład skali dywergentnej
Przyjrzyjmy się innemu zbiorowi danych, w którym domyślna skala kolorów nie jest odpowiednia. Ten raster, migration, zawiera szacunkową liczbę netto osób, które przemieściły się do każdej komórki rastra w latach 1990–2000. Wartość dodatnia oznacza napływ ludności (imigrację), a wartość ujemna – odpływ (emigrację). Spójrz:
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE,
outside.position = c("bottom"))
Domyślna skala kolorów nie wygląda zbyt użytecznie, ale tmap robi coś całkiem sprytnego: automatycznie dobiera dywergentną skalę kolorów. Skala dywergentna jest tu trafnym wyborem, ponieważ duże przemieszczenia ludności to zarówno duże wartości dodatnie, jak i duże (co do wartości bezwzględnej) wartości ujemne. Zero – czyli brak migracji netto – stanowi naturalny punkt środkowy.
tmap wybiera skalę dywergentną, gdy mapowana zmienna zawiera zarówno wartości dodatnie, jak i ujemne, i przyjmuje zero jako punkt środkowy. Nie zawsze jest to właściwe podejście. Wyobraź sobie, że mapujesz względną zmianę wyrażoną w procentach – wtedy najbardziej intuicyjnym punktem środkowym mogłoby być 100%. Jeśli potrzebujesz czegoś innego, najlepiej wygenerować dywergentną paletę (o nieparzystej liczbie kroków, aby istniał środkowy kolor) i samodzielnie określić przedziały.
Sprawdźmy, czy uda ci się uzyskać bardziej czytelną mapę, dodając własną skalę dywergentną.
(Źródło danych: de Sherbinin, A., M. Levy, S. Adamo, K. MacManus, G. Yetman, V. Mara, L. Razafindrazay, B. Goodrich, T. Srebotnjak, C. Aichele, and L. Pistolesi. 2015. Global Estimated Net Migration Grids by Decade: 1970-2000. Palisades, NY: NASA Socioeconomic Data and Applications Center (SEDAC). http://dx.doi.org/10.7927/H4319SVC Accessed 27 Sep 2016)
To ćwiczenie jest częścią kursu
Wizualizacja danych geoprzestrzennych w R
Instrukcje do ćwiczenia
- Wyświetl obiekt
migration, aby sprawdzić, czy jest to obiekt klasyRasterLayer, i zapoznaj się z zakresem wartości migracji. - Wygeneruj dywergentną paletę o nazwie
red_gray, składającą się z 7 kolorów z palety"RdGy"z pakietuRColorBrewer. - Użyj dywergentnego zestawu kolorów
red_grayjako palety dla swojego wykresu. Zostaną zastosowane twoje kolory, ale przedziały nadal nie będą zbyt użyteczne. - Dodaj stałe przedziały dla skali kolorów:
c(-5e6, -5e3, -5e2, -5e1, 5e1, 5e2, 5e3, 5e6)
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Print migration
# Diverging "RdGy" palette
red_gray <- brewer.pal()
# Use red_gray as the palette
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE, outside.position = c("bottom"))
# Add fixed breaks
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE, outside.position = c("bottom"))