当mu很大时,Pylab中的直方图

时间:2012-02-28 22:26:20

标签: python matplotlib

我遇到了这个问题;感觉就像一个bug,但可能是我遗漏了一些东西,因为我对pylab完全不熟悉。当我使用以下代码时:

import pylab
import random as rn

mu = 10
sigma = 5

z = []

for i in xrange(300):
    z.append(rn.gauss(mu,sigma))   

n, bins, patches = pylab.hist(z, 50, normed=1, histtype='stepfilled')

pylab.show()
一切正常; y轴上的值范围从0到0.12,我认为这是每个bin组成整个样本的百分比。这很有道理。但是,如果将mu = 10更改为mu = 20,

import pylab
import random as rn

mu = 20
sigma = 5

z = []

for i in xrange(300):
    z.append(rn.gauss(mu,sigma))   

n, bins, patches = pylab.hist(z, 50, normed=1, histtype='stepfilled')

pylab.show()

我在y轴上的值变得更大;它们现在介于0到5之间,这没有任何意义。这些酒吧变得非常挤向底部,你几乎看不到它们。任何大亩都会出现这种问题。

一种可能的解决方案是将数据标准化,使得mu相当小,但我觉得应该有更好的解决方案。有谁知道发生了什么?

我在32位Windows上使用pythonxy。

谢谢

1 个答案:

答案 0 :(得分:2)

我似乎是一个错误。我得到大致相同的一般形状mu = 5和mu = 20。您可以将标准化直方图箱的y值解释为概率滞后。所有垃圾箱的总面积= 1。