LoslegenKostenlos loslegen

Eigene Palette in tmap

Anders als in ggplot2, wo du eine benutzerdefinierte Farbskala in einem scale_-Aufruf setzt, werden Farben in tmap-Layern direkt in dem Layer angegeben, in dem sie gemappt werden. Zum Beispiel, ein Plot der Variable age_18_24 aus prop_by_age:

tm_shape(prop_by_age) +
  tm_raster(col = "age_18_24") 

Da die Farbe im Aufruf von tm_raster() gemappt wird, erfolgt auch die Angabe der Palette in diesem Aufruf. Du gibst einfach einen Vektor von Farben im Argument palette an. Das ist ein weiterer Grund, warum es sich lohnt, Wege zu lernen, um einen Farbvektor zu erzeugen. Auch wenn verschiedene Pakete sehr unterschiedliche Abkürzungen haben können, um Paletten aus Farbpaketen anzugeben, gibt es im Allgemeinen immer eine Möglichkeit, einen Vektor von Farben zu übergeben.

Verwenden wir für diesen Plot einige Paletten aus der letzten Übung.

Diese Übung ist Teil des Kurses

Geodaten in R visualisieren

Kurs anzeigen

Anleitung zur Übung

  • Verwende im ersten Plot die Palette blups statt der Standardpalette.
  • Verwende im zweiten Plot die Palette vir statt der Standardpalette.
  • Verwende im dritten Plot die Palette rev(mag) statt der Standardpalette. rev() kehrt einfach die Reihenfolge eines Vektors um, d. h. es werden dieselben Farben genutzt, nur in umgekehrter Reihenfolge.

Interaktive Übung

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

# 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"))
Code bearbeiten und ausführen