Cómo trazar un histograma para la lista de datos en Matplotlib

Suraj Joshi 17 diciembre 2020
Cómo trazar un histograma para la lista de datos en Matplotlib

Podemos usar el método plt.hist() para graficar histogramas a partir de una lista de datos.

Sintaxis del método Maplotlib 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)

Ejemplos: Trazar un histograma usando Matplotlib de la lista de datos

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 en Matplotlib con contenedores predeterminados

Aquí, tenemos valores en una lista - data. Pasamos esta lista al comando plt.hist() para generar un histograma de la lista de valores. El método plt.hist() devuelve la frecuencia de los bins, los puntos finales de los bins, y una lista de parches usados para crear el histograma.

En el ejemplo, no hemos establecido el valor del parámetro bins. Por defecto, el número de bins es 10, así que el script crea el histograma a partir de la lista de datos con 10 bins.

Además, podemos controlar el número de bins usando el comando bins mientras hacemos el 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:

Establecer el número de bins en el histograma en Matplotlib

Este proceso muestra el histograma hecho a partir de 20 contenedores, como resultado de dividir por igual todo el rango de los valores de la lista.

Por defecto, el valor del parámetro density se establece en False; esto significa que obtenemos la gráfica del conteo exacto de cada recipiente en el histograma. Si queremos hacer la gráfica de las densidades de probabilidad de cada bin en la lista, necesitamos establecer la density en True. Si la density es True, el área bajo el histograma se integra 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 con gráfica de probabilidad en Matplotlib

Ahora podemos establecer el color del histograma usando el 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 rojo en Matplotlib

Este método genera el histograma con color rojo.

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Artículo relacionado - Matplotlib Visualizations