Gráficos de Linha Básicos com Matplotlib

MatplotlibBeginner
Pratique Agora

Introdução

Matplotlib é uma biblioteca abrangente para criar visualizações estáticas, animadas e interativas em Python. É uma das bibliotecas de visualização de dados mais populares e é essencial para qualquer cientista ou analista de dados que trabalhe com Python.

Um gráfico de linha é um dos tipos de gráficos mais básicos e amplamente utilizados. Ele exibe informações como uma série de pontos de dados chamados 'marcadores' conectados por segmentos de linha reta. É frequentemente usado para visualizar uma tendência em dados ao longo de intervalos de tempo – uma série temporal – portanto, a linha é frequentemente desenhada cronologicamente.

Neste laboratório, você aprenderá a criar um gráfico de linha simples do zero. Cobriremos todo o processo: preparando os dados, plotando-os, adicionando rótulos descritivos aos eixos e, finalmente, salvando o gráfico como um arquivo de imagem que você pode visualizar diretamente no ambiente LabEx.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 84%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Preparar listas de dados x e y

Nesta etapa, prepararemos os dados para o nosso gráfico. Antes de poder visualizar qualquer coisa, você precisa de dados. Para um gráfico de linha 2D simples, você precisa de dois conjuntos de dados: um para o eixo x (o eixo horizontal) e um para o eixo y (o eixo vertical).

Usaremos listas Python para armazenar nossos dados. Vamos criar um conjunto de dados simples representando o crescimento populacional ao longo de alguns anos.

Primeiro, abra o arquivo main.py localizado no diretório ~/project no explorador de arquivos à esquerda. O arquivo já contém a instrução de importação necessária.

Agora, adicione o seguinte código a main.py para criar duas listas, x e y.

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

Aqui, x representa os anos e y representa a população em milhões para cada ano correspondente. Essas duas listas servirão como as coordenadas para o nosso gráfico de linha.

Plotar linha usando plt.plot(x, y)

Nesta etapa, usaremos os dados que preparamos para criar o gráfico real. O módulo pyplot do Matplotlib, que importamos como plt, fornece uma função chamada plot() que é perfeita para esta tarefa.

A função plt.plot() recebe dois argumentos principais: os dados para o eixo x e os dados para o eixo y. Ela então desenhará uma linha conectando os pontos definidos por essas coordenadas.

Adicione a seguinte linha ao seu script main.py, logo após as listas de dados que você criou na etapa anterior.

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

## Create the plot
plt.plot(x, y)

Esta única linha de código diz ao Matplotlib para criar um gráfico de linha usando as listas x e y como coordenadas. No entanto, se você executar o script agora, ainda não verá nada. Ainda precisamos adicionar rótulos e salvar explicitamente o gráfico em um arquivo.

Adicionar rótulo ao eixo x com plt.xlabel()

Nesta etapa, adicionaremos um rótulo ao eixo x. Um gráfico sem rótulos é frequentemente sem sentido porque o espectador não sabe o que os eixos representam. É uma parte crucial da criação de visualizações claras e informativas.

O Matplotlib fornece a função plt.xlabel() para adicionar um rótulo ao eixo x. Você simplesmente passa o rótulo desejado como uma string para esta função.

Vamos adicionar um rótulo para 'Year' (Ano) ao nosso gráfico. Adicione a seguinte linha ao seu script main.py após a chamada plt.plot().

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

## Create the plot
plt.plot(x, y)

## Add x-axis label
plt.xlabel("Year")

Agora, o eixo horizontal do nosso gráfico será claramente marcado como 'Year'.

Adicionar rótulo ao eixo y com plt.ylabel()

Nesta etapa, adicionaremos um rótulo ao eixo y, completando a rotulagem básica do nosso gráfico. Assim como o eixo x, o eixo y precisa de um rótulo descritivo para que os espectadores possam entender os dados.

A função para isso é plt.ylabel(), que funciona exatamente como plt.xlabel(). Você passa o texto do rótulo como uma string.

Vamos adicionar um rótulo para 'Population' (População) ao nosso gráfico. Adicione a seguinte linha ao seu script main.py, logo após a chamada plt.xlabel().

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

## Create the plot
plt.plot(x, y)

## Add x-axis label
plt.xlabel("Year")

## Add y-axis label
plt.ylabel("Population (in millions)")

Com ambos os eixos rotulados, nosso gráfico agora é muito mais compreensível.

Exibir gráfico usando plt.show()

Nesta etapa final, geraremos e visualizaremos nosso gráfico. Em um ambiente de desktop típico, você pode usar plt.show() para exibir o gráfico em uma nova janela. No entanto, em um ambiente baseado na web como o LabEx, não podemos abrir janelas de GUI.

Em vez disso, salvaremos o gráfico em um arquivo de imagem usando a função plt.savefig(). Esta função salva a figura atual em um arquivo no seu diretório de projeto.

Adicione a seguinte linha ao final do seu script main.py. Isso salvará o gráfico como uma imagem PNG chamada line_plot.png.

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

## Create the plot
plt.plot(x, y)

## Add x-axis label
plt.xlabel("Year")

## Add y-axis label
plt.ylabel("Population (in millions)")

## Save the plot to a file
plt.savefig("line_plot.png")

Agora, abra um terminal no WebIDE (você pode usar o ícone + no painel do terminal ou o menu Terminal > New Terminal). Execute seu script com o seguinte comando:

python3 main.py

Após a conclusão do comando, você verá um novo arquivo chamado line_plot.png aparecer no explorador de arquivos à esquerda. Clique duas vezes em line_plot.png para abri-lo e ver seu gráfico de linha completo!

Line plot

Resumo

Parabéns! Você criou e salvou com sucesso seu primeiro gráfico de linha usando Matplotlib.

Neste laboratório, você aprendeu o fluxo de trabalho fundamental para criar um gráfico básico:

  1. Preparar Dados: Você criou listas Python para armazenar os dados para seus eixos x e y.
  2. Plotar Dados: Você usou plt.plot() para gerar o gráfico de linha a partir dos seus dados.
  3. Adicionar Rótulos: Você tornou o gráfico informativo adicionando rótulos com plt.xlabel() e plt.ylabel().
  4. Salvar o Gráfico: Você aprendeu a usar plt.savefig() para salvar sua visualização em um arquivo, o que é essencial em ambientes sem GUI.

Este é apenas o começo do que você pode fazer com Matplotlib. Agora você pode expandir essas habilidades para criar visualizações mais complexas e personalizadas. Continue explorando!