Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how can I plot 4 histograms on the same graph


I have the following problem:
I am using hist() in matplotlib.pyplot
I am trying to create 4 histograms on the same graph. and an approximation gaussian for each one of them.
how can I plot the 4 histograms on the same graph, without them blocking each other (side by side)? any ideas?

like image 490
amit Avatar asked Dec 28 '22 21:12

amit


1 Answers

There are several examples in the matplotlib documentation. This one looks like it answers your question:

import numpy as np
import pylab as P
#
# first create a single histogram
#
mu, sigma = 200, 25
x = mu + sigma*P.randn(10000)
#
# finally: make a multiple-histogram of data-sets with different length
#
x0 = mu + sigma*P.randn(10000)
x1 = mu + sigma*P.randn(7000)
x2 = mu + sigma*P.randn(3000)

# and exercise the weights option by arbitrarily giving the first half
# of each series only half the weight of the others:

w0 = np.ones_like(x0)
w0[:len(x0)/2] = 0.5
w1 = np.ones_like(x1)
w1[:len(x1)/2] = 0.5
w2 = np.ones_like(x2)
w0[:len(x2)/2] = 0.5



P.figure()

n, bins, patches = P.hist( [x0,x1,x2], 10, weights=[w0, w1, w2], histtype='bar')

P.show()
like image 190
Carl F. Avatar answered Dec 31 '22 04:12

Carl F.