Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SciPy累积分布函数绘图_Python_Cdf - Fatal编程技术网

Python SciPy累积分布函数绘图

Python SciPy累积分布函数绘图,python,cdf,Python,Cdf,我在绘制累积分布函数时遇到问题 到目前为止,我发现: scipy.stats.beta.cdf(0.2,6,7) 但这只给了我一点 这将是我用来绘制的: pylab.plot() pylab.show() 我希望它看起来像这样: 当p=.2且边界停止一次y=1或接近1时,cdf的第一个参数可以是一个值数组,而不是单个值。然后它将返回一个值数组 import scipy.stats as stats import matplotlib.pyplot as plt import numpy a

我在绘制累积分布函数时遇到问题

到目前为止,我发现:

scipy.stats.beta.cdf(0.2,6,7)
但这只给了我一点

这将是我用来绘制的:

pylab.plot()
pylab.show()
我希望它看起来像这样:


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,
二项(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)

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

这正是我想要的!非常感谢你!我花了大约3个小时的时间来做这样的事情。但我仍然很难从概念上理解这一点。对于stat.beta.cdf,这个linspace(0,20100)是什么?我只是使用了错误的代码吗?我看到您使用了stats.binom.cdf(0,20100)创建了一个numpy数组,其中包含100个均匀分布的值,这些值介于0和20之间(包括0和20)。(请尝试打印(np.linspace(0,20,10))。实验是值得的!)因为您发布了一个指向二项式cdf图的链接,我使用了而不是。我仍然对stats.binom.cdf(x,50,0.2)的工作原理感到困惑。。。我知道x可以是一个数组,我知道p=0.2,但为什么是50?我已经使用了这些数字,并阅读了手册,但仍然没有意义……在上,您将看到一个使用
binom.cdf(x,n,p)
的示例。
x
可以是任何类似数组的对象
n
是投掷次数,
p
是成功概率。通过查看并与此匹配,可以理解参数的含义。同意您的评论。你的解是有效的,另一个只适用于二项分布