Criar Histogramas com Matplotlib

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste tutorial, aprenderemos como criar um histograma usando a biblioteca Matplotlib. Um histograma é uma representação gráfica da distribuição de um conjunto de dados. É uma estimativa da distribuição de probabilidade de uma variável contínua. Para criar um histograma, precisamos dividir toda a gama de valores em uma série de intervalos ou bins (classes), e então contar quantos valores caem em cada intervalo.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar as bibliotecas necessárias

Primeiramente, precisamos importar as bibliotecas necessárias, que são NumPy e Matplotlib.

import matplotlib.pyplot as plt
import numpy as np

Gerar dados aleatórios

Geraremos dois conjuntos de dados aleatórios usando a função random.normal do NumPy. Esses conjuntos serão usados para criar histogramas com diferentes estilos.

np.random.seed(19680801)

mu_x = 200
sigma_x = 25
x = np.random.normal(mu_x, sigma_x, size=100)

mu_w = 200
sigma_w = 10
w = np.random.normal(mu_w, sigma_w, size=100)

Criar um histograma básico

Criaremos um histograma básico usando a função hist do Matplotlib. Este histograma terá 10 bins (classes) de tamanho igual.

plt.hist(x, bins=10)
plt.show()

Alterar o número de bins (classes)

Podemos alterar o número de bins (classes) especificando o parâmetro bins na função hist. Neste exemplo, criaremos um histograma com 20 bins.

plt.hist(x, bins=20)
plt.show()

Alterar o estilo do histograma

Podemos alterar o estilo do histograma especificando o parâmetro histtype na função hist. Neste exemplo, criaremos um histograma com uma curva de passo (step curve) que possui um preenchimento de cor.

plt.hist(x, bins=20, density=True, histtype='stepfilled', facecolor='g', alpha=0.75)
plt.show()

Criar um histograma com larguras de bin personalizadas

Podemos criar um histograma com larguras de bin personalizadas e desiguais fornecendo uma lista de bordas de bin (bin edges). Neste exemplo, criaremos um histograma com bins espaçados de forma desigual.

bins = [100, 150, 180, 195, 205, 220, 250, 300]
plt.hist(x, bins=bins, density=True, histtype='bar', rwidth=0.8)
plt.show()

Criar dois histogramas com barras empilhadas

Podemos criar dois histogramas com barras empilhadas chamando a função hist duas vezes e definindo o parâmetro histtype como 'barstacked'. Neste exemplo, criaremos dois histogramas com barras empilhadas.

plt.hist(x, density=True, histtype='barstacked', rwidth=0.8)
plt.hist(w, density=True, histtype='barstacked', rwidth=0.8)
plt.show()

Resumo

Neste tutorial, aprendemos como criar um histograma usando a biblioteca Matplotlib. Também aprendemos como alterar o número de bins, o estilo do histograma e como criar um histograma com larguras de bin personalizadas e barras empilhadas.