SciPy累积分布函数绘图

Ove*_*im3 2 python cdf

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

到目前为止我发现了这个:

scipy.stats.beta.cdf(0.2,6,7)
Run Code Online (Sandbox Code Playgroud)

但这只能给我一点意见.

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

pylab.plot()
pylab.show()
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样: 文件:二项分布cdf.svg

p = .2界限停止一次y = 1或接近1.

unu*_*tbu 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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


小智 5

我认为上面的 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)
Run Code Online (Sandbox Code Playgroud)

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