Matplotlib - Histograma

Un histograma es una representación precisa de la distribución de datos numéricos. Es una estimación de la distribución de probabilidad de una variable continua. Es una especie de gráfico de barras.

Para construir un histograma, siga estos pasos:

  • Bin el rango de valores.
  • Divida todo el rango de valores en una serie de intervalos.
  • Cuente cuántos valores caen en cada intervalo.

Los bins generalmente se especifican como intervalos consecutivos que no se superponen de una variable.

los matplotlib.pyplot.hist()función traza un histograma. Calcula y dibuja el histograma de x.

Parámetros

La siguiente tabla enumera los parámetros de un histograma:

X matriz o secuencia de matrices
contenedores entero o secuencia o 'auto', opcional
parámetros opcionales
rango El rango inferior y superior de los contenedores.
densidad Si es True, el primer elemento de la tupla de retorno serán los recuentos normalizados para formar una densidad de probabilidad
acumulativo Si es Verdadero, se calcula un histograma en el que cada contenedor da los recuentos en ese contenedor más todos los contenedores para valores más pequeños.
histtype El tipo de histograma que se va a dibujar. El valor predeterminado es 'bar'
  • 'bar' es un histograma de tipo barra tradicional. Si se dan varios datos, las barras se ordenan una al lado de la otra.
  • 'barstacked' es un histograma de tipo barra en el que se apilan varios datos uno encima del otro.
  • 'paso' genera una gráfica de línea que, de forma predeterminada, no se completa.
  • 'step fill' genera una gráfica de línea que se completa de forma predeterminada.

El siguiente ejemplo traza un histograma de calificaciones obtenidas por los estudiantes en una clase. Se definen cuatro contenedores, 0-25, 26-50, 51-75 y 76-100. El histograma muestra el número de estudiantes que se encuentran en este rango.

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()

La trama aparece como se muestra a continuación: