Como Criar Figuras com Python e Matplotlib para Análise de Dados

Ana Maria Gomes
6 minutos de leitura

Conteúdos do tutorial

A biblioteca Matplotlib é uma das ferramentas mais poderosas e populares para visualização de dados em Python. Se você já tem familiaridade com essa biblioteca, sabe que ela oferece uma vasta gama de funcionalidades que permitem a criação de gráficos complexos e detalhados. Neste artigo, vamos revisitar alguns conceitos avançados de Matplotlib, como criar gráficos com Python e explorar como eles podem ser aplicados na análise de dados. Vamos lá?

Entendendo a Estrutura de uma Figura Matplotlib

Antes de começarmos a criar nossos gráficos, é importante entender a estrutura de uma figura no Matplotlib. Uma figura é composta por diversos elementos, como eixos, títulos, legendas e, claro, os próprios dados representados em diferentes tipos de gráficos. A manipulação desses elementos é feita através de uma interface orientada a objetos, que oferece controle total sobre a aparência do gráfico.

Criando um Gráfico de Linhas com Múltiplos Eixos

Vamos começar criando um gráfico de linhas com múltiplos eixos, o que é útil quando queremos comparar diferentes conjuntos de dados que possuem escalas distintas.

import matplotlib.pyplot as plt
import numpy as np

# Dados
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.log(x + 1)

# Criando uma figura e um conjunto de subplots
fig, ax1 = plt.subplots()

# Gráfico de linha para y1
ax1.plot(x, y1, 'g-')
ax1.set_xlabel('Eixo X (x)')
ax1.set_ylabel('Sen(x)', color='g')

# Criando um segundo eixo Y que compartilha o mesmo eixo X
ax2 = ax1.twinx()
ax2.plot(x, y2, 'b-')
ax2.set_ylabel('log(x+1)', color='b')

plt.title('Gráfico de Linhas com Múltiplos Eixos')
plt.show()

Neste exemplo, criamos dois conjuntos de eixos (ax1 e ax2) que compartilham o mesmo eixo X. Isso nos permite plotar y1 e y2 com escalas diferentes no mesmo gráfico.

Visualizando Distribuições com Histogramas

Histogramas são uma excelente maneira de visualizar a distribuição de um conjunto de dados. Vamos criar um histograma para analisar a distribuição de uma amostra aleatória.

# Gerando dados aleatórios
data = np.random.randn(1000)

# Criando o histograma
plt.hist(data, bins=30, alpha=0.5, color='blue', edgecolor='black')

# Adicionando títulos e rótulos
plt.title('Histograma de uma Amostra Aleatória')
plt.xlabel('Valor')
plt.ylabel('Frequência')

plt.show()

O histograma nos permite ver rapidamente onde a maior parte dos dados está concentrada e se existem outliers significativos.

Criando Gráficos de Barras para Comparação de Dados Categóricos

Gráficos de barras são ideais para comparar quantidades entre diferentes categorias.

# Categorias e valores
categorias = ['Categoria A', 'Categoria B', 'Categoria C']
valores = [10, 20, 30]

# Criando o gráfico de barras
plt.bar(categorias, valores, color=['red', 'green', 'blue'])

# Adicionando títulos e rótulos
plt.title('Gráfico de Barras para Dados Categóricos')
plt.xlabel('Categorias')
plt.ylabel('Valores')

plt.show()

Este gráfico nos permite fazer comparações diretas entre as categorias e é extremamente útil em apresentações e relatórios.

Utilizando Subplots para Comparar Múltiplos Gráficos

Subplots são uma forma eficaz de comparar diferentes visualizações de dados lado a lado.

# Dados para os gráficos
x = np.linspace(0, 2 * np.pi, 400)
y = np.sin(x ** 2)

# Criando uma figura com 2 subplots
fig, (ax1, ax2) = plt.subplots(1, 2)
fig.suptitle('Comparando Gráficos com Subplots')

# Primeiro subplot
ax1.plot(x, y)
ax1.set_title('Gráfico de Linhas')

# Segundo subplot
ax2.scatter(x, y)
ax2.set_title('Gráfico de Dispersão')

plt.show()

Com subplots, podemos facilmente comparar como diferentes tipos de gráficos representam o mesmo conjunto de dados.

Conclusão

Matplotlib é uma ferramenta do Python extremamente versátil que, quando bem dominada, pode elevar a qualidade da sua análise de dados a outro nível. A prática é essencial para aprimorar suas habilidades, então não hesite em experimentar com diferentes tipos de gráficos e configurações. Lembre-se de que uma boa visualização pode ser a chave para revelar insights valiosos escondidos nos seus dados. Continue explorando e visualizando!

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: