Un esempio di scala divergente
Vediamo un altro insieme di dati in cui la scala di colori predefinita non è adatta. Questo raster, migration, contiene una stima del numero netto di persone che si sono trasferite in ciascuna cella del raster tra il 1990 e il 2000. Un numero positivo indica un’immigrazione netta, mentre un numero negativo un’emigrazione. Dai un’occhiata:
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE,
outside.position = c("bottom"))
La scala di colori predefinita non sembra molto utile, ma tmap in realtà fa qualcosa di piuttosto intelligente: ha scelto automaticamente una scala di colori divergente. Una scala divergente è appropriata perché i grandi spostamenti di persone sono numeri molto positivi oppure molto negativi (in valore assoluto). Lo zero (cioè nessuna migrazione netta) è un punto centrale naturale.
tmap sceglie una scala divergente quando nella variabile mappata ci sono sia valori positivi sia negativi e usa lo zero come punto medio. Non è sempre l’approccio giusto. Immagina di mappare una variazione relativa in percentuale: il 100% potrebbe essere il punto medio più intuitivo. Se ti serve qualcosa di diverso, il modo migliore è generare una palette divergente (con un numero dispari di passaggi, così c’è un colore centrale) e specificare tu stesso le soglie (breaks).
Vediamo se riesci a ottenere una mappa più informativa aggiungendo tu una scala divergente.
(OFonte dei dati: de Sherbinin, A., M. Levy, S. Adamo, K. MacManus, G. Yetman, V. Mara, L. Razafindrazay, B. Goodrich, T. Srebotnjak, C. Aichele e L. Pistolesi. 2015. Global Estimated Net Migration Grids by Decade: 1970-2000. Palisades, NY: NASA Socioeconomic Data and Applications Center (SEDAC). http://dx.doi.org/10.7927/H4319SVC Accesso: 27 set 2016)
Questo esercizio fa parte del corso
Visualizzare dati geospaziali in R
Istruzioni dell'esercizio
- Stampa
migrationper verificare che sia un oggettoRasterLayere osserva l’intervallo dei valori di migrazione. - Genera una palette divergente, chiamata
red_gray, di 7 colori dalla palette"RdGy"inRColorBrewer. - Usa l’insieme di colori divergente
red_graycome palette per il tuo grafico. Questo usa i tuoi colori, ma le soglie non sono utili. - Aggiungi soglie fisse per la scala dei colori:
c(-5e6, -5e3, -5e2, -5e1, 5e1, 5e2, 5e3, 5e6)
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Print migration
# Diverging "RdGy" palette
red_gray <- brewer.pal()
# Use red_gray as the palette
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE, outside.position = c("bottom"))
# Add fixed breaks
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE, outside.position = c("bottom"))