在Python中绘制CDF(累积分布函数)图像,您可以使用以下方法:
1. 使用`matplotlib`和`scipy`库:
python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
定义一个正态分布的例子
mu, sigma = 0, 1
x = np.linspace(mu - 3 * sigma, mu + 3 * sigma, 100) 生成x轴上的点
y = norm.cdf(x, mu, sigma) 计算相应的CDF值
绘制CDF图像
plt.plot(x, y)
plt.xlabel('X-axis')
plt.ylabel('CDF')
plt.title('CDF of a Normal Distribution (mu=0, sigma=1)')
plt.grid()
plt.show()
2. 使用`matplotlib`的`hist`函数,设置`cumulative=True`参数绘制CDF直方图:
python
import numpy as np
import matplotlib.pyplot as plt
生成随机样本
samples = np.random.randn(10000)
绘制CDF直方图
plt.hist(samples, cumulative=True, density=True)
plt.xlabel('X-axis')
plt.ylabel('CDF')
plt.title('CDF of Random Samples')
plt.grid()
plt.show()
3. 使用`statsmodels`库计算ECDF(经验累积分布函数):
python
import numpy as np
import matplotlib.pyplot as plt
import statsmodels.api as sm
生成随机样本
sample = np.random.randn(10000)
计算ECDF
ecdf = sm.distributions.ECDF(sample)
x = np.linspace(min(sample), max(sample))
y = ecdf(x)
绘制ECDF图像
plt.plot(x, y, linewidth='1', label='ECDF')
plt.xlabel('X-axis')
plt.ylabel('CDF')
plt.title('Empirical CDF of Random Samples')
plt.grid()
plt.legend()
plt.show()
以上代码展示了如何使用不同的库和方法绘制CDF图像。您可以根据需要修改参数和样本数据来绘制不同分布的CDF图像。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/69247.html