você também quer contribuir para o uso de softwares livres?
Compartilhe, COMENTE e de sugestões de novos conteúdos.

Inscreva-se e clique no botão, para receber o e-book Criando gráficos em R sem dominar a linguagem: Guia Rápido e novos conteúdos diretamente no seu e-mail.
Baixe seu e-book gratuitamente e faça parte da comunidade easy R 

BLOG easy R

Introdução ao pacote 'maps': selecionando uma região no mapa.

Mapas no R por Luis Macedo-Soares.

Vimos anteriormente como fazer um mapa global no R usando o pacote ‘maps’. Agora vou mostrar como selecionar uma região específica em um mapa. Vou mostrar duas formas de fazer isto. Na primeira vou utilizar a base de dados ‘word’ disponível no pacote ‘maps’. Na segunda, vou mostrar a base de dados ‘worldHires’, com maior resolução espacial, que pode ser encontrada no pacote ‘mapdata’. Se precisar, instale primeiro os pacotes com a função install.packages() e depois carregue-os com a função library(), para torná-los disponíveis.
install.packages("maps") # não esqueça das “aspas”
install.packages("mapdata")
library(maps) # esqueça as “aspas”
library(mapdata)

Para salvar a figura com uma boa resolução, o script começa com a função jpeg() (a explicação completa desta função você encontra no e-book que pode ser baixado gratuitamente em www.easyR.com.br/guiarapido). Na sequência é usado o argumento mfrow da função par() para criar um painel múltiplo, com gráficos de mesmo tamanho, que será preenchido na ordem das linhas.
jpeg(filename="maps_intro_Brasil.jpg", width=400, height=200, bg="white", 
           res=300, unit="mm") 
par(mfrow=c(1, 2))

Com a função c(), indicamos um vetor de 1 linha por 2 colunas, uma vez que os dois gráficos serão dispostos um ao lado do outro. Com o argumento regions da função map() selecionamos a região de interesse, no exemplo o Brasil. No argumento regions a região a ser escolhida tem que estar na base de dados na função (nome em inglês), dessa forma, este argumento será mais útil quando se pretende escolher uma região conhecido, como um país por exemplo. O argumento fill=TRUE indica que a cor informada no argumento col será usada no preenchimento do mapa. Caso contrário (fill=FALSE), a cor será usada no contorno do mapa. A função map.axes() insere os eixos de longitude (x) e latitude (y).
map(database="world", region="Brazil", fill=TRUE, col="gray80")
map.axes()
Exemplo de imagem
Vamos supor que agora eu preciso selecionar apenas uma parte do Brasil, e assim o argumento regions não vai servir para meu novo mapa. Primeiramente vou ajustar as margens internas do meu mapa com o argumento mar da função par(). Neste argumento entramos com os valores de cada margem na seguinte ordem: margens inferior, esquerda, superior, direita. Na sequência vou criar um gráfico vazio com a função plot(), apenas para servir de guia. Nele vou definir minha área com os argumentos xlim, onde seleciono as coordenadas da longitude que abrangem a área que preciso mostrar no mapa, e o argumento ylim, para definir a latitude. A terceira etapa é adicionar o mapa ao meu gráfico vazio (add=TRUE), onde vou delimitar as mesmas coordenadas geográficas usando xlim e ylim. Vou usar a base de dados ‘worldHires’ para obter um mapa com melhor resolução espacial.
par(mar=c(4, 5, 4, 4))
plot(x=1:2, y=1:2, type="n", axes=FALSE, xlim=c(-75, -40), ylim=c(-20, 10),
          xlab="", ylab="", xaxs="i", yaxs="i") 
map(database="worldHires", xlim=c(-75, -40), ylim=c(-20, 10), fill=FALSE,
           add=TRUE)

Agora vou adicionar o Brasil com o argumento regions, preenchendo-o com uma cor (fill=TRUE), para dar maior destaque. Vou utilizar a função axis() para personalizar os eixos.
map(database="worldHires", regions="Brazil", fill=TRUE, col="gray80",
           add=TRUE)
axis(side=1,at=seq(from=-70,to=-40,by=10), cex.axis=1.2,
          labels=c("70º", "60º", "50º", "40ºW"))
axis(side=2, at=seq(from=-20, to=10, by=10), cex.axis=1.2, las=1,
          labels=c("20º", "10ºS", "0º", "10ºN"))

Para concluir, vou completar uma caixa ao redor do gráfico com a função box() e inserir o nome do Brasil com a função text().
box()
text(x=-56, y=-12, labels="Brasil", cex=3, pos=4) 
dev.off()

Não se esqueça da função dev.off() para encerrar e salvar a figura. Atenção! As figuras são salvas na pasta na qual você direcionou o R no início, o seu diretório de trabalho. Quando você concluir o script, o R não abrirá nenhuma janela. Você deve ir ao seu diretório para abrir a figura.

Se você achou este conteúdo relevante, curta e compartilhe com seus amigos.
Gostou? Clique Curtir e deixe um comentário!

ENTRE EM CONTATO COMIGO

Envie seus comentários e sugestões.