Palette personalizzata in tmap
Diversamente da ggplot2, dove l’impostazione di una scala di colori personalizzata avviene con una chiamata scale_, in tmap i colori si specificano direttamente nel layer in cui vengono mappati. Ad esempio, considera un grafico della variabile age_18_24 da prop_by_age:
tm_shape(prop_by_age) +
tm_raster(col = "age_18_24")
Dato che il colore è mappato nella chiamata a tm_raster(), anche la definizione della palette avviene in questa chiamata. Ti basta fornire un vettore di colori nell’argomento palette. Questo è un altro motivo per cui vale la pena imparare a generare un vettore di colori. Anche se i diversi pacchetti possono avere scorciatoie molto diverse per specificare palette provenienti da pacchetti di colori, in genere avranno sempre un modo per passare un vettore di colori.
Usiamo alcune palette dell’esercizio precedente con questo grafico.
Questo esercizio fa parte del corso
Visualizzare dati geospaziali in R
Istruzioni dell'esercizio
- Nel primo grafico, usa la palette
blupsinvece di quella predefinita. - Nel secondo grafico, usa la palette
virinvece di quella predefinita. - Nel terzo grafico, usa la palette
rev(mag)invece di quella predefinita.rev()inverte semplicemente l’ordine di un vettore, quindi usa gli stessi colori ma in ordine opposto.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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"))