Um exemplo de escala divergente
Vamos analisar outro conjunto de dados em que a escala de cores padrão não é adequada. Este raster, migration, traz uma estimativa do número líquido de pessoas que se mudaram para cada célula do raster entre 1990 e 2000. Um número positivo indica imigração líquida, e um número negativo, emigração. Veja só:
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE,
outside.position = c("bottom"))
A escala de cores padrão não parece muito útil, mas o tmap está fazendo algo bem inteligente: ele escolheu automaticamente uma escala de cores divergente. Uma escala divergente é apropriada porque grandes movimentos de pessoas podem ser grandes números positivos OU grandes números negativos (em magnitude). Zero (ou seja, nenhuma migração líquida) é um ponto médio natural.
O tmap escolhe uma escala divergente quando há valores positivos e negativos na variável mapeada e define zero como ponto médio. Isso nem sempre é o ideal. Imagine que você está mapeando uma variação relativa em percentuais; 100% pode ser o ponto médio mais intuitivo. Se você precisar de algo diferente, a melhor forma é gerar uma paleta divergente (com um número ímpar de passos, para haver uma cor central) e definir manualmente os intervalos (breaks).
Vamos ver se você consegue um mapa mais informativo adicionando você mesmo uma escala divergente.
(Fonte dos dados: 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 Acesso em 27 set. 2016)
Este exercício faz parte do curso
Visualizando dados geoespaciais em R
Instruções do exercício
- Imprima
migrationpara verificar que é um objetoRasterLayere observe o intervalo de valores de migração. - Gere uma paleta divergente, chamada
red_gray, com 7 cores a partir da paleta"RdGy"doRColorBrewer. - Use o conjunto de cores divergentes,
red_gray, como paleta do seu gráfico. Isso usa suas cores, mas os intervalos ainda não são úteis. - Adicione intervalos fixos para a escala de cores:
c(-5e6, -5e3, -5e2, -5e1, 5e1, 5e2, 5e3, 5e6)
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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"))