如何在同一图表上绘制4个直方图

时间:2011-05-01 17:50:11

标签: python histogram matplotlib


我有以下问题:
我在matplotlib.pyplot中使用hist() 我试图在同一图表上创建4个直方图。并且每个都有一个近似高斯分布。
如何在同一图表上绘制4个直方图,而不会相互阻塞(并排)?任何想法?

1 个答案:

答案 0 :(得分:10)

matplotlib documentation中有几个例子。这个看起来像是回答了你的问题:

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()