flow flow - 2 months ago 11
Python Question

Plot two histograms at the same time with matplotlib

I created a histogram plot using data from a file and no problem. Now I wanted to superpose data from
another file in the same histogram, so I do something like

n,bins,patchs = ax.hist(mydata1,100)
n,bins,patchs = ax.hist(mydata2,100)


but the problem is that for each intervale, only the bar with the highest value appears, and the other is hidden. I wonder how could I plot both histograms at the same time with different colors

Answer

Here you have a working example:

import random
import numpy
from matplotlib import pyplot

x = [random.gauss(3,1) for _ in range(400)]
y = [random.gauss(4,2) for _ in range(400)]

bins = numpy.linspace(-10, 10, 100)

pyplot.hist(x, bins, alpha=0.5, label='x')
pyplot.hist(y, bins, alpha=0.5, label='y')
pyplot.legend(loc='upper right')
pyplot.show()

enter image description here