Introdução
Histogramas são uma ótima maneira de visualizar a distribuição de um conjunto de dados, e Matplotlib é uma das bibliotecas Python mais populares para criar visualizações de dados. Neste laboratório, usaremos Matplotlib para criar histogramas lado a lado para múltiplos conjuntos de dados.
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 para o nosso código. Usaremos Matplotlib e NumPy para nossos histogramas:
import matplotlib.pyplot as plt
import numpy as np
Criar conjuntos de dados de exemplo
Em seguida, criaremos conjuntos de dados de exemplo para usar em nossos histogramas. Criaremos três conjuntos de dados com 387 pontos de dados cada:
np.random.seed(19680801)
number_of_data_points = 387
labels = ["A", "B", "C"]
data_sets = [np.random.normal(0, 1, number_of_data_points),
np.random.normal(6, 1, number_of_data_points),
np.random.normal(-3, 1, number_of_data_points)]
Calcular as quantidades para plotagem
Antes de podermos criar nossos histogramas, precisamos calcular algumas quantidades para plotagem. Calcularemos o intervalo de nossos conjuntos de dados, os conjuntos de dados binados, os valores máximos dos bins e as localizações x para cada histograma:
hist_range = (np.min(data_sets), np.max(data_sets))
number_of_bins = 20
binned_data_sets = [
np.histogram(d, range=hist_range, bins=number_of_bins)[0]
for d in data_sets
]
binned_maximums = np.max(binned_data_sets, axis=1)
x_locations = np.arange(0, sum(binned_maximums), np.max(binned_maximums))
Plotar os histogramas
Agora que calculamos as quantidades necessárias para a plotagem, podemos criar nossos histogramas. Usaremos o método barh para plotar barras horizontais para cada histograma:
## The bin_edges are the same for all of the histograms
bin_edges = np.linspace(hist_range[0], hist_range[1], number_of_bins + 1)
heights = np.diff(bin_edges)
centers = bin_edges[:-1] + heights / 2
## Cycle through and plot each histogram
fig, ax = plt.subplots()
for x_loc, binned_data in zip(x_locations, binned_data_sets):
lefts = x_loc - 0.5 * binned_data
ax.barh(centers, binned_data, height=heights, left=lefts)
ax.set_xticks(x_locations, labels)
ax.set_ylabel("Valores dos dados")
ax.set_xlabel("Conjuntos de dados")
Exibir os histogramas
Finalmente, podemos exibir nossos histogramas usando o método show:
plt.show()
Resumo
Neste laboratório, aprendemos como criar histogramas lado a lado para múltiplos conjuntos de dados usando Matplotlib. Calculamos as quantidades necessárias para a plotagem e usamos o método barh para criar barras horizontais para cada histograma. Com essas habilidades, podemos criar visualizações informativas de nossos dados para obter insights e comunicar nossas descobertas a outros.