Python

Como criar gráfico no Python 3

Escrito por Erick Faria · 7 min. >
Banner do post de Como Criar gráfico no Python 3

Gerar visualizações no python é muito simples, entretanto algumas pessoas ainda encontram algumas dificuldades para gerar gráficos e mapas. Hoje eu vou ensinar a vocês como criar gráfico no python 3 usando as bibliotecas Pandas e MatplotLib. Será um tutorial detalhado e explicando cada pedaço do código para que você possa aprender como gerar gráficos no python.

Requisitos para criar gráfico no Python 3

Para criar gráfico no Python, recomendamos o uso da biblioteca Matplotlib em conjunto com a biblioteca Pandas. O Matplotlib é uma das bibliotecas mais populares e amplamente utilizadas para a criação de gráficos e visualizações de dados em Python. Além de ser de fácil utilização, a Matplotlib oferece uma ampla gama de recursos para a criação de gráficos de alta qualidade.

O primeiro passo para começar a utilizar a Matplotlib é importá-la para o seu ambiente de desenvolvimento Python. Para isso, basta utilizar o seguinte código:

# Pacotes necessários para criar gráfico no python
import pandas as pd
import matplotlib.pyplot as plt

Após a importação da biblioteca, você estará pronto para começar a criar gráfico no Python.

Importação dos dados no Pandas

Para realizar este tutorial, você precisará obter os dados necessários a partir do repositório do Balaio Científico no GitHub. Existem duas formas de acessar os dados:

  1. Acessando o link diretamente como no código abaixo.
  2. Lendo os dados diretamente em seu ambiente de desenvolvimento Python, através do seguinte comando:
df = pd.read_csv('https://raw.githubusercontent.com/balaiocientifico/dataset/main/healthexp.csv')

Esta segunda opção é mais simples e rápida, pois permite a leitura dos dados diretamente no seu ambiente de trabalho sem a necessidade de baixar o arquivo. Assim, você pode começar a trabalhar com os dados de forma mais eficiente e ágil. Aqui no Balaio Científico eu já ensinei como fazer a importação de dados no pandas: Como ler dados no pandas. Confira esse conteúdo caso encontre dificuldades.

Conhecendo a estrutura dos dados

Antes de iniciarmos criar gráfico no Python, é fundamental conhecer a estrutura dos dados. É recomendável imprimir as primeiras linhas dos dados, mesmo que você já conheça o conjunto de dados, para garantir que as colunas foram separadas corretamente. Para isso, você pode utilizar o comando head() do Pandas, que retornará as cinco primeiras linhas dos dados.

Por exemplo, se você estiver trabalhando com o mesmo conjunto de dados do exemplo, sua tabela deve ter uma característica semelhante à apresentada a seguir:

YearCountrySpending_USDLife_Expectancy
1970Germany252.31170.6
1970France192.14372.2
1970Great Britain123.99371.9
1970Japan150.43772.0
1970USA326.96170.9

Esta verificação inicial garante que você está trabalhando com os dados corretos e evita problemas futuros na análise e visualização dos dados.

Agora que nós finalizamos a parte introdutória, incluindo a importação das bibliotecas e dos dados, e verificamos que tudo está correto, chegou a hora de colocarmos a mão na massa e começarmos a escrever os códigos para aprendermos a criar gráfico no Python.

Gráfico de série temporal no Python

Nessa seção eu apresento os códigos necessários para criar gráfico no Python. Eu deixei os comentários em cada linha para te guiar e ajudar seu entendimento. Alguns comandos não podem ser dados separadamente. Para evitar erros copie e cole o código completo em seu ambiente python.

Expectativa de Vida por País

O objetivo deste código é traçar a evolução da expectativa de vida em diferentes países ao longo dos anos. Usando o dataset que importamos previamente.

A primeira linha cria uma figura com 15 polegadas de largura e 10 polegadas de altura. Em seguida, há um laço “for” que itera sobre cada país único no DataFrame ‘df’. Para cada país, é criado um subconjunto de dados, ‘country_df’, que filtra o DataFrame ‘df’ para incluir apenas os dados desse país específico. O gráfico é então traçado usando os dados do subconjunto ‘country_df’ e etiquetado com o nome do país.

A seguir, é adicionada uma legenda ao gráfico para identificar os diferentes países. O título “Evolução da Expectativa de Vida por País” é então adicionado ao gráfico. Por último, o comando “plt.show()” é usado para exibir o gráfico resultante.

# Crie uma figura com 15 polegadas de largura e 10 polegadas de altura
plt.figure(figsize=(15, 10))

# Itere sobre cada país
for country in df['Country'].unique():
    country_df = df[df['Country'] == country]
    plt.plot(country_df['Year'], country_df['Life_Expectancy'], label=country)

# Adicione uma legenda ao criar gráfico no Python
plt.legend()

# Adicione um título ao gráfico
plt.title("Evolução da Expectativa de Vida por País")

# Comando para exibir e criar gráfico no Python
plt.show()

Para cada país, foi desenhada uma linha no gráfico, representando a evolução da expectativa de vida ao longo dos anos. É adicionada uma legenda ao gráfico, que relaciona as linhas aos respectivos países. Por fim, foi adicionado um título ao gráfico e exibido para visualização. O eixo y apresenta os valores de expectativa de vida e o eixo x apresenta os anos. Veja o resultado na imagem abaixo.

Exemplo de como criar gráfico no Python. Nesse gráfico você pode observar um gráfico de série temporal da Evolução da Expectativa de vida por país.
Evolução da Expectativa de Vida por País

O gráfico apresenta informações valiosas sobre a evolução da expectativa de vida em diferentes países. A cor de cada linha representa um país específico, e ao analisar o gráfico, é possível notar que o Japão tem o melhor desempenho em termos de evolução da expectativa de vida, sendo que sua linha é apresentada na cor vermelha. A França aparece em segundo lugar, superando o Canadá ao redor do ano de 2005. Em seguida, temos o Canadá, seguido pela Alemanha e, por fim, a Grã-Bretanha. O desempenho mais fraco na evolução da expectativa de vida é apresentado pelos Estados Unidos.

Algo interessante a ser observado é que todos os países, exceto o Japão, apresentaram uma queda na expectativa de vida próximo ao ano de 2020, o que pode estar relacionado à pandemia global. Contudo, o Japão é uma exceção, pois apresentou aumento na expectativa de vida mesmo diante dos impactos negativos da pandemia.

Custo de vida por País

Agora nós vamos fazer um gráfico semelhante ao anterior mudando apenas a coluna de expectativa de vida para custo de vida nós também vamos mudar o título do gráfico.

Você pode ver a seguir que o código é o mesmo e apenas essas colunas são mudadas agora nós vamos mostrar uma informação de custo de vida por país.

# Crie uma figura com 15 polegadas de largura e 10 polegadas de altura
plt.figure(figsize=(15, 10))

# Itere sobre cada país
for country in df['Country'].unique():
    country_df = df[df['Country'] == country]
    plt.plot(country_df['Year'], country_df['Spending_USD'], label=country)

# Adicione uma legenda ao criar gráfico no Python
plt.legend()

# Adicione um título ao gráfico
plt.title("Evolução do custo de vida por País")

# Comando para exibir e criar gráfico no Python
plt.show()

O gráfico a seguir apresenta o resultado da análise que fizemos acima. Os Estados Unidos têm o maior crescimento no custo de vida em comparação com os outros países, que apresentaram uma evolução semelhante e próxima, com exceção dos Estados Unidos. A Alemanha vem em segundo lugar em termos de crescimento do custo de vida, seguida pelo Canadá, França, Grã-Bretanha e, finalmente, Japão.

É importante destacar que todos os países apresentaram um aumento significativo no custo de vida no último ano de 2020, o que pode estar relacionado à pandemia. No entanto, o Japão é o único país que não teve um “aumento na linha”, o que sugere investigar qual foi a abordagem adotada pelo Japão para evitar o aumento do custo de vida devido à pandemia.

Exemplo de como criar gráfico no Python. Nesse gráfico você pode observar uma série temporal da evolução do custo de Vida por País
Evolução do custo de Vida por País

Esses gráficos nos mostram que a pandemia teve um impacto na expectativa de vida e no custo de vida em todos os países, exceto no Japão. Portanto, é necessário realizar mais investigações para entender o impacto da pandemia e as soluções adotadas pelos países.

Gastos (USD) x Expectativa de Vida por País

Agora nós vamos fazer um código que correlaciona as duas informações que geramos anteriormente. Apenas uma linha será mudada para acomodar os dois eixos que desejamos representar. Observe na última linha do for, onde damos o comando plot() que ela está criando um gráfico de dispersão (scatter plot) com os seguintes argumentos:

  • country_df['Spending_USD']: este argumento especifica o valor do eixo x do gráfico, ou seja, a coluna “Spending_USD” do dataframe country_df que representa o gasto em dólares de cada país.
  • country_df['Life_Expectancy']: este argumento especifica o valor do eixo y do gráfico, ou seja, a coluna “Life_Expectancy” do dataframe country_df que representa a expectativa de vida de cada país.
  • 'o': este argumento especifica o tipo de marcador para os pontos no gráfico, onde 'o' significa um círculo preenchido.
  • label=country: este argumento é usado para adicionar uma legenda ao gráfico, onde country é a variável que representa o nome do país e será usada como a etiqueta da legenda.
# Crie uma figura com 15 polegadas de largura e 10 polegadas de altura
plt.figure(figsize=(15, 10))

# Itere sobre cada país
for country in df['Country'].unique():
    country_df = df[df['Country'] == country]
    plt.plot(country_df['Spending_USD'], country_df['Life_Expectancy'], 'o', label=country)

# Adicione uma legenda ao criar gráfico no Python
plt.legend()

# Adicione um título ao gráfico
plt.title("Relação entre Gastos (USD) e Expectativa de Vida por País")

# Adicione rótulos aos eixos
plt.xlabel("Gastos (USD)")
plt.ylabel("Expectativa de Vida")

# Comando para exibir e criar gráfico no Python
plt.show()

O gráfico abaixo apresenta a correlação entre a expectativa de vida (eixo y) e o custo de vida (eixo x) por país. É possível ver que os Estados Unidos apresenta o maior custo de vida, porém a menor expectativa de vida. Por outro lado, o Japão apresenta a melhor expectativa de vida e o menor custo de vida. Outros países, como França, Grã-Bretanha, Japão e Alemanha, apresentaram desempenho semelhante.

Relação entre Gastos (USD) e Expectativa de Vida por País

Este gráfico de correlação fornece resultados interessantes e permite fazer relações e ter insights sobre a análise de dados. No entanto, é importante ressaltar que este é apenas um exemplo em que ensino a criar gráfico no python e não se deve chegar a conclusões com base em apenas duas variáveis.

Ao criar gráfico no Python, é possível obter resultados significativos com apenas duas variáveis. É importante continuar investigando para chegar a conclusões mais aprofundadas. Criar gráfico no python é muito útil para os trabalhos de análise de dados, e certamente você irá fazer muito ao longo da sua carreira. Utilize esse meu código em outros exemplos e caso tenha dúvidas, escreva nos comentários.

Escrito por Erick Faria
Engenheiro de Dados com Ph.D. em Geografia e experiência em análise espacial e geoprocessamento. Expertise em processamento de grandes volumes de dados geoespaciais, imagens de satélite e dados de mercado, utilizando ferramentas como Spark, Databricks e Google Earth Engine. Experiência em projetos de mercado de carbono, modelos preditivos para investimentos agrícolas e liderança de projetos de dados em saúde pública. Habilidades em Python, R, SQL e diversas ferramentas de engenharia de dados. Profile