Histograma de Lote para Lista de Dados em Matplotlib

Suraj Joshi 15 fevereiro 2024
Histograma de Lote para Lista de Dados em Matplotlib

Podemos utilizar o método plt.hist() para traçar histogramas a partir de uma lista de dados.

Sintaxe da Maplotlib método hist()

matplotlib.pyplot.hist(x,
                       bins=None,
                       range=None,
                       density=False,
                       weights=None,
                       cumulative=False,
                       bottom=None,
                       histtype='bar',
                       align='mid',
                       orientation='vertical',
                       rwidth=None,
                       log=False,
                       color=None,
                       label=None,
                       stacked=False, *,
                       data=None,
                       **kwargs)

log é False por defeito. Se log estiver definido para ser True, o eixo do histograma estará numa escala de log.

Exemplos: Histograma de plotagem usando Matplotlib a partir da lista de dados

import matplotlib.pyplot as plt

data = [3, 4, 2, 3, 4, 5, 4, 7, 8, 5, 4, 6, 2, 1, 0, 9, 7, 6, 6, 5, 4]

n, bins, patches = plt.hist(data)
plt.xlabel("Values")
plt.ylabel("Frequency")
plt.title("Histogram")
plt.show()

Resultado:

Histograma em Matplotlib com silos por defeito

Aqui, temos valores numa lista - data. Passamos esta lista para o comando plt.hist() para gerar um histograma a partir da lista de valores. O método plt.hist() devolve a frequência das caixas, pontos finais das caixas, e uma lista de correcções utilizadas para criar o histograma.

No exemplo, ainda não definimos o valor do parâmetro bins. Por defeito, o número de bins é 10, pelo que o script cria o histograma a partir da lista de dados com 10 bins.

Além disso, podemos controlar o número de caixas utilizando o comando bins enquanto fazemos o histograma.

import matplotlib.pyplot as plt

data = [3, 4, 2, 3, 4, 5, 4, 7, 8, 5, 4, 6, 2, 1, 0, 9, 7, 6, 6, 5, 4]
n, bins, patches = plt.hist(data, bins=20)
plt.xlabel("Values")
plt.ylabel("Frequency")
plt.title("Histogram with 20 bins")
plt.show()

Resultado:

Definir o número de caixas no histograma em Matplotlib

Este processo exibe o histograma feito a partir de 20 caixas, como resultado da divisão equitativa de toda a gama dos valores da lista.

Por defeito, o valor do parâmetro density é definido para False; isto significa que obtemos o gráfico da contagem exacta de cada contentor no histograma. Se quisermos fazer o gráfico das densidades de probabilidade de cada contentor na lista, precisamos de definir a [densidade](/pt/howto/matplotlib/matplotlib-density-plot/ para True. Se a density for True, a área sob o histograma integra-se a 1.

import matplotlib.pyplot as plt

data = [3, 4, 2, 3, 4, 5, 4, 7, 8, 5, 4, 6, 2, 1, 0, 9, 7, 6, 6, 5, 4]
n, bins, patches = plt.hist(data, bins=20, density=True)
plt.xlabel("Weight")
plt.ylabel("Probability")
plt.title("Histogram with Probability Plot")
plt.show()

Resultado:

Histograma com Lote de Probabilidade em Matplotlib

Podemos agora definir a cor do histograma utilizando o parâmetro color.

import matplotlib.pyplot as plt

data = [3, 4, 2, 3, 4, 5, 4, 7, 8, 5, 4, 6, 2, 1, 0, 9, 7, 6, 6, 5, 4]
n, bins, patches = plt.hist(data, bins=20, density=True, color="red")
plt.xlabel("Weight")
plt.ylabel("Probability")
plt.title("Red Histogram Plot")
plt.show()

Resultado:

Histograma Vermelho Plot em Matplotlib

Este método gera o histograma com a cor vermelha.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artigo relacionado - Matplotlib Visualizations