Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Plot de land_cover-raster door tm_shape() en tm_raster() te combineren. Standaard gebruikt tmap het kwalitatieve RColorBrewer-palet "Set3".
  • Bekijk de code voor hcl_cols, die het palet van ggplot2 nabootst. Plot daarna de land_cover-raster opnieuw en geef hcl_cols door aan het palette-argument van tm_raster().
  • Roep levels() aan op land_cover om de categorieën te zien.
  • Gebruik deze keer intuitive_cols als palet en voeg een tm_legend()-laag toe met het argument position = 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


Code bewerken en uitvoeren