Comment tracer deux histogrammes ensemble dans Matplotlib

Jinku Hu 25 juin 2020
  1. Deux histogrammes sans barres qui se chevauchent
  2. Deux histogrammes avec des barres qui se chevauchent
Comment tracer deux histogrammes ensemble dans Matplotlib

On peut tracer deux histogrammes dans une figure en même temps. Vous trouverez ci-dessous des méthodes pour créer les deux histogrammes avec et sans barres de chevauchement.

Deux histogrammes sans barres qui se chevauchent

Exemples de codes de travail:

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 trace deux histogrammes en même temps sans barres qui se chevauchent

Deux histogrammes avec des barres qui se chevauchent

Exemples de codes de travail:

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 trace deux histogrammes en même temps avec des barres qui se chevauchent

Lorsque nous appelons plt.hist deux fois pour tracer les histogrammes individuellement, les deux histogrammes auront les barres qui se chevauchent comme vous avez pu le voir ci-dessus.

La propriété alpha spécifie la transparence du tracé. 0.0 est transparent et 1.0 est opaque.

Lorsque alpha est défini à 0,5 pour les deux histogrammes, la zone de chevauchement montre la couleur combinée. Mais si alpha est 0.0, la valeur par défaut, la barre de chevauchement montre seulement la couleur de la valeur la plus élevée parmi deux histogrammes et l’autre couleur est cachée, comme indiqué ci-dessous.

Matplotlib trace deux histogrammes en même temps avec des barres superposées_barre cachée

Auteur: 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

Article connexe - Matplotlib Histogram