Matplotlib - Histograma

Um histograma é uma representação precisa da distribuição de dados numéricos. É uma estimativa da distribuição de probabilidade de uma variável contínua. É uma espécie de gráfico de barras.

Para construir um histograma, siga estas etapas -

  • Bin a faixa de valores.
  • Divida todo o intervalo de valores em uma série de intervalos.
  • Conte quantos valores caem em cada intervalo.

Os bins são geralmente especificados como intervalos consecutivos e não sobrepostos de uma variável.

o matplotlib.pyplot.hist()função plota um histograma. Ele calcula e desenha o histograma de x.

Parâmetros

A tabela a seguir lista os parâmetros para um histograma -

x array ou sequência de arrays
caixas inteiro ou sequência ou 'auto', opcional
parâmetros opcionais
alcance A faixa inferior e superior das caixas.
densidade Se for True, o primeiro elemento da tupla de retorno será a contagem normalizada para formar uma densidade de probabilidade
cumulativo Se True, então um histograma é calculado onde cada caixa fornece as contagens nessa caixa mais todas as caixas para valores menores.
tipo de história O tipo de histograma a ser desenhado. O padrão é 'bar'
  • 'bar' é um histograma tradicional do tipo barra. Se vários dados forem fornecidos, as barras serão organizadas lado a lado.
  • 'barstacked' é um histograma do tipo barra em que vários dados são empilhados uns sobre os outros.
  • 'step' gera um gráfico de linha que por padrão não é preenchido.
  • 'stepfilled' gera um gráfico de linha que é preenchido por padrão.

O exemplo a seguir plota um histograma de notas obtidas pelos alunos em uma classe. Quatro bins, 0-25, 26-50, 51-75 e 76-100 são definidos. O histograma mostra o número de alunos que estão nessa faixa.

from matplotlib import pyplot as plt
import numpy as np
fig,ax = plt.subplots(1,1)
a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
ax.hist(a, bins = [0,25,50,75,100])
ax.set_title("histogram of result")
ax.set_xticks([0,25,50,75,100])
ax.set_xlabel('marks')
ax.set_ylabel('no. of students')
plt.show()

O gráfico aparece como mostrado abaixo -