🎉 SEMANA DO CONSUMIDOR

Últimos dias para comprar os cursos com 50% de desconto

Ver detalhes

Postado em em 17 de setembro de 2024

Você sabia que é possível criar mapas em Python? Aprenda a criar gráficos de mapas com Python e melhore ainda mais suas análises de dados.

Se quiser pode acompanhar esse conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.

Como criar Mapas em Python

Quando trabalhamos com análise de dados, criar visualizações interativas e dinâmicas é uma excelente maneira de explorar e apresentar as informações.

O Python possui diversas bibliotecas que facilitam essa tarefa, como Matplotlib, Seaborn e Plotly.

Entre essas ferramentas, Plotly se destaca quando queremos criar gráficos interativos e dinâmicos, sendo intuitiva e fácil de integrar aos nossos projetos. É com essa biblioteca que iremos trabalhar para criar mapas em Python.

Nesta postagem, você aprenderá como criar um gráfico de mapa de calor interativo, utilizando Pandas para manipulação dos dados e Plotly Express para visualização.

Bibliotecas para Criar Gráficos no Python

As principais bibliotecas para criação de gráficos em Python são o Matplotlib, o Seaborn e o Plotly. Sendo essa última especialmente útil quando precisamos de gráficos interativos e dinâmicos.

Como o objetivo desta aula é a criação de um mapa de calor com interatividade e possibilidade de aplicar zoom, usaremos a biblioteca Plotly por sua facilidade e recursos.

Se você tiver interesse em aprender mais sobre como as bibliotecas Matplotlib e Seaborn funcionam e podem ser usadas para criar gráficos no Python, recomendo as seguintes aulas:

Instalando as Bibliotecas Necessárias

Para esta aula, você precisará de duas bibliotecas instaladas: Pandas para manipulação e análise de dados, e Plotly Express para gerar o gráfico do mapa de calor.

A instalação pode ser feita diretamente no terminal do seu editor de código ou no prompt de comando com o seguinte comando: pip install pandas plotly.

instalando as bibliotecas necessárias: plotly e pandas

Configurando o Ambiente

Como vamos trabalhar com visualização de dados e gráficos, recomendo que você utilize o Jupyter Notebook ou o VS Code com a extensão do Jupyter.

Isso porque os gráficos gerados pelo Plotly são renderizados diretamente na interface do Jupyter, permitindo uma exploração mais interativa e fluida.

Importar e Visualizar a Base de Dados

No material disponível para download, você encontrará a base de dados que usaremos nesta aula: Cidades.csv.

Esse dataset foi obtido através do Kaggle e você pode conferir a fonte original aqui: Brazilian E-Commerce Public Dataset by Olist

Essa é uma base pública de dados contendo cerca de 100.000 pedidos de produtos brasileiros feitos por e-commerce, organizados por região.

Para simplificar o trabalho e focar no objetivo de criar um gráfico de mapa em Python, a base de dados no material dessa aula já foi simplificada e consolidada.

Na base, estão registradas as quantidades de vendas feitas em e-commerce por CEP no Brasil.

Para carregar e visualizar o DataFrame, precisaremos importar a biblioteca Pandas e ler o arquivo CSV.

import pandas as pd

tabela = pd.read_csv("Cidades.csv")
display(tabela)
Visualizando o dataframe

As colunas do dataset incluem índices, prefixo do CEP, latitude, longitude, estados e a quantidade de vendas por CEP.

Essas informações são essenciais para criarmos um gráfico de mapa em Python, pois temos as coordenadas geográficas (latitude e longitude) e a métrica que queremos exibir (quantidade, o número de vendas).

Essas são as principais informações que você precisará sempre que desejar criar um mapa: coordenadas geográficas e a métrica a ser representada no mapa.

Como Criar Mapa em Python com Plotly

O Plotly oferece uma série de ferramentas que permitem criar gráficos de forma rápida e intuitiva. Para isso, utilizaremos o Plotly Express e a função density_mapbox, que nos ajuda a criar mapas de calor em Python, representando valores por meio de cores.

A escala do gráfico se adapta automaticamente ao nível de zoom aplicado, facilitando a visualização das informações.

Para criar o mapa, é necessário fornecer a base de dados e dois parâmetros principais: lat (latitude) e lon (longitude). No nosso dataset, esses parâmetros correspondem às colunas geolocation_lat e geolocation_lng.

O parâmetro z define qual coluna será usada para representar a magnitude ou quantidade de cada ponto no mapa.

Essa informação é visualizada por meio de cores: valores maiores aparecem em amarelo e os menores, em roxo. No nosso caso, o parâmetro z será a coluna quantidade, que contém as informações das vendas.

Para ajustar o tamanho das “bolhas” exibidas no mapa, utilizamos o parâmetro radius (raio). Quanto maior o valor, maior será o raio do ponto exibido.

O zoom controla o nível de aproximação do mapa. Valores maiores focam em áreas menores, enquanto valores menores abrangem áreas mais amplas.

Por fim, precisamos definir o mapbox_style, que define o estilo visual do mapa. Por exemplo, podemos utilizar o estilo open-street-map, que mostra ruas e detalhes geográficos ao aplicar zoom.

Depois de configurar esses parâmetros, exibimos o gráfico utilizando o método show().

import plotly.express as px

grafico = px.density_mapbox(tabela, lon="geolocation_lng", lat="geolocation_lat", z="quantidade", mapbox_style="open-street-map",
                            zoom=3, radius=10)
grafico.show()
Gráfico de mapa em Python

Ajustando o Layout do Gráfico

Ao gerar o gráfico, você perceberá que ele vem com margens padrão. Essas margens fazem parte do layout padrão do Plotly, mas podemos ajustá-las para melhorar a aparência do gráfico.

Para isso, usamos a função update_layout(), que permite modificar diversos aspectos do layout. No nosso caso, ajustaremos o parâmetro margin, que controla o tamanho das margens ao redor do gráfico.

Podemos definir as margens como zero para remover completamente o espaço ao redor do gráfico, fazendo com que ele ocupe toda a área de visualização.

O parâmetro margin é um dicionário que aceita as seguintes chaves:

  • “r”: Margem direita (right)
  • “t”: Margem superior (top)
  • “b”: Margem inferior (bottom)
  • “l”: Margem esquerda (left)
import plotly.express as px

grafico = px.density_mapbox(tabela, lon="geolocation_lng", lat="geolocation_lat", z="quantidade", mapbox_style="open-street-map",
                            zoom=3, radius=10)

grafico.update_layout(margin={"r": 0, "t": 0, "b": 0, "l": 0})

grafico.show()
Criar mapa em Python com Plotly

Com isso, você terá seu gráfico de mapa pronto. Agora, será possível interagir com ele, aplicando zoom e explorando os dados de forma mais detalhada.

Interagindo com o mapa em Python

Para mais informações sobre o Plotly e suas funcionalidades, como a criação de mapas de calor e outros gráficos interativos, acesse a documentação oficial: Documentação Plotly

Conclusão – Como criar Mapas em Python

Na aula de hoje, você aprendeu a criar mapas em Python com apenas algumas linhas de código. Utilizando a biblioteca Plotly, é possível criar gráficos interativos e visuais atrativos, otimizando a apresentação de dados e insights.

A combinação do Pandas para manipulação de dados e do Plotly Express para visualização oferece uma solução simples, prática e poderosa para suas análises de dados.

O Plotly também oferece diversas outras funcionalidades para personalização de gráficos. Caso queira saber mais sobre essa biblioteca, confira nossa aula: Como Criar Gráficos no Python Utilizando o Plotly

E, se você quer se destacar no mercado de trabalho e se tornar uma referência em sua empresa com análises de dados precisas e insights valiosos, confira nossos cursos completos:

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos

Diego Monutti

Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.