LoslegenKostenlos loslegen

Ein qualitatives Beispiel

Zum Schluss schauen wir uns noch ein Beispiel mit einer kategorialen Variable an. Das Raster land_cover enthält eine rasterartige Kategorisierung der Erdoberfläche. Wirf einen Blick auf land_cover, indem du es ausgibst:

land_cover

Du wirst feststellen, dass die values numerisch sind, aber es gibt attributes, die diese Zahlen Kategorien zuordnen (ähnlich wie bei Faktoren).

Die Farbwahl für kategoriale Variablen hängt stark vom Zweck der Grafik ab. Wenn die Kategorien in etwa gleich stark wirken sollen – also keine Kategorie stärker herausstechen soll als die anderen –, kannst du Farben mit unterschiedlichen Farbtönen, aber gleicher Sättigung (Maß für die Leuchtkraft) und Helligkeit verwenden (das ist die Standardeinstellung für diskrete Farbschemata in ggplot2 und kann mit der Funktion hcl() erzeugt werden).

Die qualitativen Paletten aus RColorBrewer balancieren Farben mit ähnlicher visueller Gewichtung und guter Unterscheidbarkeit. Die Schemata "paired" und "accent" weichen davon ab, indem sie einerseits Farbpaare mit unterschiedlicher Helligkeit und andererseits eine Palette mit intensiveren Farben bereitstellen, die sich jeweils dafür eignen, bestimmte Kategorien hervorzuheben.

Für diese Daten könnte es sinnvoller sein, intuitive Farben zu wählen, z. B. Grün für Wald und Blau für Wasser. Unabhängig davon, was besser passt: Neue Farben setzt du einfach, indem du einen Vektor von Farben über das Argument palette in der entsprechenden tm_***-Ebene übergibst.

Diese Übung ist Teil des Kurses

Geodaten in R visualisieren

Kurs anzeigen

Anleitung zur Übung

  • Zeichne das Raster land_cover, indem du tm_shape() und tm_raster() kombinierst. Standardmäßig verwendet tmap die qualitative RColorBrewer-Palette "Set3".
  • Sieh dir den Code für hcl_cols an, der die in ggplot2 verwendete Palette nachbildet. Zeichne dann das Raster land_cover erneut und übergib hcl_cols als palette-Argument an tm_raster().
  • Rufe levels() für land_cover auf, um die Kategorien zu sehen.
  • Verwende diesmal intuitive_cols als Palette und füge eine tm_legend()-Ebene mit dem Argument position = c("left", "bottom") hinzu.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen