Cómo trazar dos histogramas juntos en Matplotlib

Jinku Hu 25 junio 2020
  1. Dos histogramas sin barras superpuestas
  2. Dos histogramas con barras superpuestas
Cómo trazar dos histogramas juntos en Matplotlib

Podríamos trazar dos histogramas en una figura al mismo tiempo. A continuación se muestran los métodos para crear los dos histogramas con y sin barras superpuestas.

Dos histogramas sin barras superpuestas

Códigos de ejemplo de trabajo:

import numpy as np
import matplotlib.pyplot as plt

a = np.random.normal(0, 3, 3000)
b = np.random.normal(2, 4, 2000)

bins = np.linspace(-10, 10, 20)

plt.hist([a, b], bins, label=["a", "b"])
plt.legend(loc="upper left")
plt.show()

Matplotlib traza dos histogramas al mismo tiempo sin barras superpuestas

Dos histogramas con barras superpuestas

Códigos de ejemplo de trabajo:

import numpy as np
import matplotlib.pyplot as plt

a = np.random.normal(0, 3, 1000)
b = np.random.normal(2, 4, 900)

bins = np.linspace(-10, 10, 50)

plt.hist(a, bins, alpha=0.5, label="a")
plt.hist(b, bins, alpha=0.5, label="b")
plt.legend(loc="upper left")

plt.show()

Matplotlib traza dos histogramas al mismo tiempo con barras superpuestas

Cuando llamamos plt.hist dos veces para trazar los histogramas individualmente, los dos histogramas tendrán las barras superpuestas como se pudo ver arriba.

La propiedad alpha especifica la transparencia del gráfico. 0.0 es transparente y 1.0 es opaco.

Cuando alpha se establece en 0.5 para ambos histogramas, el área superpuesta muestra el color combinado. Pero si alpha es 0.0, el valor por defecto, la barra superpuesta sólo muestra el color del valor más alto entre dos histogramas y el otro color está oculto, como se muestra a continuación.

Matplotlib traza dos histogramas al mismo tiempo con barras superpuestas_barra oculta

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Artículo relacionado - Matplotlib Histogram