SciPy累积分布函数绘图

时间:2012-10-11 21:32:01

标签: python cdf

我在绘制累积分布函数时遇到了麻烦。

到目前为止,我已经找到了这个:

scipy.stats.beta.cdf(0.2,6,7)

但这只能给我一点意见。

这将是我用来绘制的内容:

pylab.plot()
pylab.show()

我希望它看起来像这样: File:Binomial distribution cdf.svg

p = .2,界限停止y = 1或接近1。

2 个答案:

答案 0 :(得分:6)

cdf的第一个参数可以是值数组,而不是单个值。然后它将返回一组值。

import scipy.stats as stats
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,20,100)
cdf = stats.binom.cdf
plt.plot(x,cdf(x, 50, 0.2))
plt.show()

enter image description here

答案 1 :(得分:2)

我不认为上面的用户ubuntu建议使用正确的功能。 实际上,他的回答非常误导和错误。

请注意,binom.cdf()是计算由n和p Binomial(n,p)指定的二项分布的cdf的函数。也就是说,它为x中的每个值返回该随机变量的cdf值,而不是向量x指定的离散分布的实际cdf函数。

要计算向量x定义的任何分布的cdf,只需使用histogram()函数:

import numpy as np
hist, bin_edges = np.histogram(np.random.randint(0,10,100), normed=True)
cdf = cumsum(hist)

或者,只需使用matplotlib中的hist()绘图功能。