ComeçarComece de graça

Mapa coroplético

Agora que você já entendeu como desenhar polígonos, vamos colocar seus polígonos em um mapa. Lembre-se: você substitui a chamada a ggplot() por uma chamada a ggmap(), move a chamada original de ggplot() para o argumento base_layer(), e então adiciona a camada de polígono como de costume:

ggmap(corvallis_map_bw,
      base_layer = ggplot(ward_sales,
                          aes(lon, lat))) +
  geom_polygon(aes(group = group, fill = ward))

Experimente isso no console agora!

Opa, algo não parece certo. Os distritos 1, 3 e 8 ficaram recortados e estranhos. O que aconteceu? Parte dos limites desses distritos está além do limite do mapa. Pelas configurações padrão de ggmap(), qualquer dado fora do mapa é descartado antes de plotar, então alguns limites de polígonos são perdidos e, quando os pontos restantes são conectados, você obtém formas erradas.

Não se preocupe, há uma solução: ggmap() oferece alguns argumentos para controlar esse comportamento. Os argumentos extent = "normal" juntamente com maprange = FALSE forçam o gráfico a usar o alcance dos dados, e não o do mapa, para definir os limites da plotagem.

Este exercício faz parte do curso

Visualizando dados geoespaciais em R

Ver curso

Exercício interativo prático

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

# Fix the polygon cropping
ggmap(corvallis_map_bw, 
      base_layer = ggplot(ward_sales, aes(lon, lat))) +
  geom_polygon(aes(group = group, fill = ward))
Editar e executar o código