ComeçarComece de graça

Construindo um gráfico em camadas

Agora que você sabe um pouco mais sobre tmap(), vamos construir seu gráfico anterior de população em camadas e fazer alguns ajustes para melhorá-lo. Você começa com uma camada tm_shape() que define os dados que quer usar e, em seguida, adiciona uma camada tm_fill() para colorir seus polígonos usando a variável population:

tm_shape(countries_spdf) +
  tm_fill(col = "population") 

Provavelmente o maior problema do gráfico resultante é que a escala de cores não é muito informativa: a primeira cor (amarelo bem claro) cobre todos os países com população menor que 200 milhões! Como a escala de cores está associada à camada tm_fill(), os ajustes nessa escala acontecem nessa chamada. Você vai aprender muito mais sobre cores no Capítulo 3, mas por enquanto, saiba que o argumento style controla como os intervalos (breaks) são escolhidos.

Seu gráfico também precisa de contornos dos países. Você pode adicionar uma camada tm_borders() para isso, mas vamos evitar que eles fiquem muito fortes visualmente. Talvez um tom marrom fique legal.

A vantagem de usar objetos espaciais fica bem clara quando você troca o tipo de gráfico que está fazendo. Vamos também testar um gráfico de bolhas em que o tamanho das bolhas corresponde à população. Se você estivesse usando ggplot2, isso exigiria bastante transformação dos dados. Com tmap, você só troca uma camada.

Este exercício faz parte do curso

Visualizando dados geoespaciais em R

Ver curso

Instruções do exercício

  • Adicione style = "quantile" a tm_fill(). Isso escolhe os intervalos da escala de cores com base em quantidades iguais de observações em cada faixa.
  • No mesmo gráfico, adicione uma camada tm_borders() com col = "burlywood4".
  • Crie um novo gráfico igual ao primeiro, mas em vez de tm_fill() adicione uma camada tm_bubbles() com size mapeado para population.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

library(sp)
library(tmap)

# Add style argument to the tm_fill() call
tm_shape(countries_spdf) +
  tm_fill(col = "population") +
  # Add a tm_borders() layer 
  

# New plot, with tm_bubbles() instead of tm_fill()
Editar e executar o código