Un exemplu calitativ
În final, să analizăm un exemplu cu o variabilă categorială. Rasterul land_cover conține o clasificare pe grilă a suprafeței terestre. Examinează land_cover afișând conținutul său:
land_cover
Vei observa că valorile (values) sunt numerice, însă există atribute (attributes) care asociază aceste numere cu categorii (similar cu modul în care funcționează factorii în R).
Alegerea culorilor pentru variabile categoriale depinde în mare măsură de scopul graficului. Când vrei ca toate categoriile să aibă aproximativ același impact vizual – adică să nu iasă niciuna în evidență față de celelalte – o abordare este să folosești culori cu nuanțe diferite, dar cu cromaticitate egală (o măsură a vibrației culorii) și luminozitate egală (acesta este comportamentul implicit al scalelor de culori discrete în ggplot2 și poate fi generat cu funcția hcl()).
Paletele calitative din RColorBrewer echilibrează greutatea vizuală egală a culorilor cu ușurința identificării acestora. Schemele "paired" și "accent" se abat de la acest principiu, oferind perechi de culori cu luminozitate diferită, respectiv o paletă cu culori mai intense, utile pentru a evidenția anumite categorii.
Pentru aceste date în particular, ar putea fi mai intuitiv să alegi culori sugestive, cum ar fi verde pentru pădure și albastru pentru apă. Indiferent de abordare, setarea unor culori noi se reduce la transmiterea unui vector de culori prin argumentul palette al stratului tm_*** corespunzător.
Acest exercițiu face parte din cursul
Vizualizarea datelor geospațiale în R
Instrucțiuni pentru exercițiu
- Reprezintă grafic rasterul
land_covercombinândtm_shape()șitm_raster(). Implicit,tmapfolosește paleta calitativă"Set3"dinRColorBrewer. - Examinează codul pentru
hcl_cols, care reproduce paleta folosită deggplot2. Apoi reprezintă din nou rasterulland_cover, transmițândhcl_colsargumentuluipalettedintm_raster(). - Apelează
levels()peland_coverpentru a vedea categoriile. - De data aceasta, folosește
intuitive_colsca paletă și adaugă un strattm_legend()cu argumentulposition = c("left", "bottom").
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
library(raster)
# Plot land_cover
# Palette like the ggplot2 default
hcl_cols <- hcl(h = seq(15, 375, length = 9),
c = 100, l = 65)[-9]
# Use hcl_cols as the palette
# Examine levels of land_cover
# A set of intuitive colors
intuitive_cols <- c(
"darkgreen",
"darkolivegreen4",
"goldenrod2",
"seagreen",
"wheat",
"slategrey",
"white",
"lightskyblue1"
)
# Use intuitive_cols as palette