2012-10-13 29 views
2

我打算为一个程序,我写自动生成在多个原始文本源的各种统计数据的高斯分布的一部分,但我有一些问题产生的图形按指南:matplotlib.mlab.normpdf()的正确用法是什么?

python pylab plot normal distribution

剧情代码的一般要点如下。

import numpy as np 
import matplotlib.mlab as mlab 
import matplotlib.pyplot as pyplot 

meanAverage = 222.89219487179491 # typical value calculated beforehand 
standardDeviation = 3.8857889432054091 # typical value calculated beforehand 

x = np.linspace(-3,3,100) 
pyplot.plot(x,mlab.normpdf(x,meanAverage,standardDeviation)) 
pyplot.show() 

它所做的只是产生一个相当平坦的无用的y = 0线! 任何人都可以看到这里有什么问题吗?

干杯。

回答

6

它看起来像你犯了一些小而重大的错误。你要么选择错误的x向量,要么换掉你的stddev和mean。既然你的意思是222,你可能需要你的x向量在这个区域,也许是150到300之间的东西。这样你可以得到所有好东西,现在你正在看着-3到3,它在分配。希望有所帮助。

+0

啊!那样做了!发现并感谢你! –

0

我看到的是,对于这些发送meanAverage,standardDeviation的*args,要发送的正确的事情是:

mu : a numdims array of means of a 

sigma : a numdims array of atandard deviation of a 

这是否帮助?

+0

令人烦恼的是,我抛出的所有对象类型都没有工作... 必须有一个比这更简单的方法。 –