Trazar histograma en Python usando Matplotlib

Un histograma se utiliza básicamente para representar los datos proporcionados en forma de algunos grupos. Es un método preciso para la representación gráfica de la distribución de datos numéricos. sobre la frecuencia.

Creación de un histograma

Para crear un histograma, el primer paso es crear un intervalo de rangos, luego distribuir todo el rango de valores en una serie de intervalos y contar los valores que caen en cada uno de los intervalos. Los intervalos se identifican claramente como consecutivos, no consecutivos. intervalos superpuestos de variables. La función matplotlib.pyplot.hist() se usa para calcular y crear un histograma de x. 

La siguiente tabla muestra los parámetros aceptados por la función matplotlib.pyplot.hist() : 

Atributo parámetro
X array o secuencia de array
contenedores el parámetro opcional contiene enteros, secuencias o strings
densidad el parámetro opcional contiene valores booleanos
rango el parámetro opcional representa el rango superior e inferior de contenedores
tipo de hist parámetro opcional utilizado para crear el tipo de histograma [barra, barras apiladas, paso, paso lleno], el valor predeterminado es «barra»
alinear El parámetro opcional controla el trazado del histograma [izquierda, derecha, mitad]
pesos el parámetro opcional contiene una array de pesos que tienen las mismas dimensiones que x
abajo ubicación de la línea de base de cada contenedor
ancho parámetro opcional que es el ancho relativo de las barras con respecto al ancho del contenedor
color parámetro opcional utilizado para establecer el color o la secuencia de especificaciones de color
etiqueta string de parámetro opcional o secuencia de string para que coincida con múltiples conjuntos de datos
Iniciar sesión parámetro opcional utilizado para establecer el eje del histograma en escala logarítmica

Vamos a crear un histograma básico de algunos valores aleatorios. El siguiente código crea un histograma simple de algunos valores aleatorios:  

Python3

from matplotlib import pyplot as plt
import numpy as np
 
 
# Creating dataset
a = np.array([22, 87, 5, 43, 56,
              73, 55, 54, 11,
              20, 51, 5, 79, 31,
              27])
 
# Creating histogram
fig, ax = plt.subplots(figsize =(10, 7))
ax.hist(a, bins = [0, 25, 50, 75, 100])
 
# Show plot
plt.show()

Producción : 

Personalización del Histograma

Matplotlib proporciona una variedad de métodos diferentes para personalizar el histograma. 
La función matplotlib.pyplot.hist() en sí misma proporciona muchos atributos con la ayuda de los cuales podemos modificar un histograma. La función hist() proporciona un objeto de parches que da acceso a las propiedades de los objetos creados, usando esto podemos modificar la trama según nuestra voluntad.

Ejemplo 1:  

Python3

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import colors
from matplotlib.ticker import PercentFormatter
 
# Creating dataset
np.random.seed(23685752)
N_points = 10000
n_bins = 20
 
# Creating distribution
x = np.random.randn(N_points)
y = .8 ** x + np.random.randn(10000) + 25
 
# Creating histogram
fig, axs = plt.subplots(1, 1,
                        figsize =(10, 7),
                        tight_layout = True)
 
axs.hist(x, bins = n_bins)
 
# Show plot
plt.show()

Producción : 

Ejemplo 2: El siguiente código modifica el histograma anterior para una mejor vista y lecturas precisas. 

Python3

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import colors
from matplotlib.ticker import PercentFormatter
 
 
# Creating dataset
np.random.seed(23685752)
N_points = 10000
n_bins = 20
 
# Creating distribution
x = np.random.randn(N_points)
y = .8 ** x + np.random.randn(10000) + 25
legend = ['distribution']
 
# Creating histogram
fig, axs = plt.subplots(1, 1,
                        figsize =(10, 7),
                        tight_layout = True)
 
 
# Remove axes splines
for s in ['top', 'bottom', 'left', 'right']:
    axs.spines[s].set_visible(False)
 
# Remove x, y ticks
axs.xaxis.set_ticks_position('none')
axs.yaxis.set_ticks_position('none')
   
# Add padding between axes and labels
axs.xaxis.set_tick_params(pad = 5)
axs.yaxis.set_tick_params(pad = 10)
 
# Add x, y gridlines
axs.grid(b = True, color ='grey',
        linestyle ='-.', linewidth = 0.5,
        alpha = 0.6)
 
# Add Text watermark
fig.text(0.9, 0.15, 'Jeeteshgavande30',
         fontsize = 12,
         color ='red',
         ha ='right',
         va ='bottom',
         alpha = 0.7)
 
# Creating histogram
N, bins, patches = axs.hist(x, bins = n_bins)
 
# Setting color
fracs = ((N**(1 / 5)) / N.max())
norm = colors.Normalize(fracs.min(), fracs.max())
 
for thisfrac, thispatch in zip(fracs, patches):
    color = plt.cm.viridis(norm(thisfrac))
    thispatch.set_facecolor(color)
 
# Adding extra features   
plt.xlabel("X-axis")
plt.ylabel("y-axis")
plt.legend(legend)
plt.title('Customized histogram')
 
# Show plot
plt.show()

Producción : 

Publicación traducida automáticamente

Artículo escrito por jeeteshgavande30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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