我在绘制累积分布函数时遇到问题。
到目前为止,我发现了这个:
scipy.stats.beta.cdf(0.2,6,7)
但这只是给了我一点。
这将是我用来绘制的:
pylab.plot()
pylab.show()
我希望它看起来像这样: 文件:二项分布 cdf.svg
并且p = .2
边界停止一次y = 1
或接近 1。
我在绘制累积分布函数时遇到问题。
到目前为止,我发现了这个:
scipy.stats.beta.cdf(0.2,6,7)
但这只是给了我一点。
这将是我用来绘制的:
pylab.plot()
pylab.show()
我希望它看起来像这样: 文件:二项分布 cdf.svg
并且p = .2
边界停止一次y = 1
或接近 1。
的第一个参数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()
我认为上面的用户 ubuntu 没有建议使用正确的功能。实际上,他的回答在很大程度上具有误导性和不正确性。
请注意,这binom.cdf()
是一个计算由 n 和 p 指定的二项式分布的 cdf 的函数Binomial(n,p)
。也就是说,它返回 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)
或者,只需使用hist()
matplotlib 中的绘图功能。