IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Stampa migration per verificare che sia un oggetto RasterLayer e osserva l’intervallo dei valori di migrazione.
  • Genera una palette divergente, chiamata red_gray, di 7 colori dalla palette "RdGy" in RColorBrewer.
  • Usa l’insieme di colori divergente red_gray come 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"))
Modifica ed esegui il codice