2012-10-13 32 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

令人煩惱的是,我拋出的所有對象類型都沒有工作... 必須有一個比這更簡單的方法。 –