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:
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:
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:
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:
Este método gera o histograma com a cor vermelha.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn