Saltar al contenido

Dibujar línea promedio en histograma (matplotlib)

Necesitamos tu apoyo para extender nuestras crónicas acerca de las ciencias de la computación.

Solución:

Puedes usar plot o vlines para dibujar una línea vertical, sino para dibujar una línea vertical desde la parte inferior hasta la parte superior del eje y, axvline es probablemente la función más simple de usar. Aquí hay un ejemplo:

In [80]: import numpy as np

In [81]: import matplotlib.pyplot as plt

In [82]: np.random.seed(6789)

In [83]: x = np.random.gamma(4, 0.5, 1000)

In [84]: result = plt.hist(x, bins=20, color='c', edgecolor='k', alpha=0.65)

In [85]: plt.axvline(x.mean(), color='k', linestyle='dashed', linewidth=1)
Out[85]: 

Resultado:
gráfico

Este es un tema antiguo y una adición menor, pero una cosa que a menudo me ha gustado es trazar también el valor medio al lado de la línea:

import numpy as np
import matplotlib.pyplot as plt
np.random.seed(6789)
x = np.random.gamma(4, 0.5, 1000)
result = plt.hist(x, bins=20, color='c', edgecolor='k', alpha=0.65)
plt.axvline(x.mean(), color='k', linestyle='dashed', linewidth=1)

min_ylim, max_ylim = plt.ylim()
plt.text(x.mean()*1.1, max_ylim*0.9, 'Mean: :.2f'.format(x.mean()))

Lo que produce el siguiente resultado:
Línea promedio con texto

Vería el valor más grande en su conjunto de datos (es decir, los valores del intervalo de histograma) multiplicaría ese valor por un número mayor que 1 (digamos 1.5) y lo usaría para definir el valor del eje y. De esta forma, aparecerá encima de su histograma independientemente de los valores dentro del histograma.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *