Własna paleta w tmap
W przeciwieństwie do ggplot2, gdzie niestandardową skalę kolorów ustawia się w wywołaniu scale_, kolory w warstwach tmap są określane bezpośrednio w warstwie, w której są mapowane. Przykładowo, wykres zmiennej age_18_24 ze zbioru prop_by_age wygląda tak:
tm_shape(prop_by_age) +
tm_raster(col = "age_18_24")
Ponieważ kolor jest mapowany w wywołaniu tm_raster(), paletę również określa się właśnie tam. Wystarczy podać wektor kolorów w argumencie palette. To kolejny powód, dla którego warto umieć generować wektory kolorów. Różne pakiety mogą mieć odmienne skróty do korzystania z palet kolorów, ale niemal zawsze umożliwiają przekazanie wektora kolorów bezpośrednio.
Wykorzystajmy kilka palet z poprzedniego ćwiczenia w tym wykresie.
To ćwiczenie jest częścią kursu
Wizualizacja danych geoprzestrzennych w R
Instrukcje do ćwiczenia
- W pierwszym wykresie użyj palety
blupszamiast domyślnej. - W drugim wykresie użyj palety
virzamiast domyślnej. - W trzecim wykresie użyj palety
rev(mag)zamiast domyślnej. Funkcjarev()odwraca kolejność elementów wektora, więc paleta zawiera te same kolory, tylko w odwrotnej kolejności.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Generate palettes from last time
library(RColorBrewer)
blups <- brewer.pal(9, "BuPu")
library(viridisLite)
vir <- viridis(9)
mag <- magma(9)
# Use the blups palette
tm_shape(prop_by_age) +
tm_raster("age_18_24") +
tm_legend(position = c("right", "bottom"))
# Use the vir palette
tm_shape(prop_by_age) +
tm_raster("age_18_24") +
tm_legend(position = c("right", "bottom"))
# Use the mag palette but reverse the order
tm_shape(prop_by_age) +
tm_raster("age_18_24") +
tm_legend(position = c("right", "bottom"))