Een kwalitatief voorbeeld
Tot slot bekijken we een voorbeeld van een categorische variabele. De land_cover-raster bevat een gerasterde indeling van het aardoppervlak. Bekijk land_cover door het te printen:
land_cover
Je ziet dat de values numeriek zijn, maar dat er attributes zijn die deze nummers aan categorieën koppelen (net zoals factoren werken).
Welke kleuren je kiest voor categorische variabelen hangt sterk af van het doel van de visualisatie. Als je wilt dat de categorieën ongeveer evenveel visueel gewicht hebben — dus dat geen enkele categorie meer opvalt dan de rest — kun je kleuren met verschillende tinten gebruiken, maar met gelijke chroma (een maat voor intensiteit) en lichtheid (dit is de standaard voor discrete kleurenschalen in ggplot2 en kan worden gegenereerd met de functie hcl()).
De kwalitatieve paletten van RColorBrewer balanceren kleuren met gelijk visueel gewicht met de mate waarin kleuren makkelijk uit elkaar te houden zijn. De schema's "paired" en "accent" wijken hiervan af door respectievelijk paren van kleuren met verschillende lichtheid te bieden en een palet met wat intensere kleuren die je kunt gebruiken om bepaalde categorieën te benadrukken.
Voor deze data is het misschien logischer om intuïtieve kleuren te kiezen, zoals groen voor bos en blauw voor water. Wat je ook kiest, nieuwe kleuren instellen is simpelweg een kwestie van een vector met kleuren doorgeven via het palette-argument in de bijbehorende tm_***-laag.
Deze oefening maakt deel uit van de cursus
Georuimtelijke data visualiseren in R
Oefeninstructies
- Plot de
land_cover-raster doortm_shape()entm_raster()te combineren. Standaard gebruikttmaphet kwalitatieveRColorBrewer-palet"Set3". - Bekijk de code voor
hcl_cols, die het palet vanggplot2nabootst. Plot daarna deland_cover-raster opnieuw en geefhcl_colsdoor aan hetpalette-argument vantm_raster(). - Roep
levels()aan opland_coverom de categorieën te zien. - Gebruik deze keer
intuitive_colsals palet en voeg eentm_legend()-laag toe met het argumentposition = c("left", "bottom").
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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