python使用matplot展示柯西分布、高斯分布、Exponential Decay分布,三种函数曲线,并可以自由设置sigma
时间: 2024-10-08 18:13:46 浏览: 52
python如何生成各种随机分布图
在Python中,你可以使用matplotlib库来创建并比较柯西分布(Cauchy Distribution)、高斯分布(Gaussian Distribution,也称正态分布)以及指数衰减分布(Exponential Decay Distribution)的图形。以下是基本步骤:
首先,你需要安装matplotlib和其他必要的数据科学库,如果尚未安装,可以使用pip安装:
```bash
pip install matplotlib numpy scipy
```
然后,你可以编写以下代码来绘制这些分布:
```python
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import cauchy, norm, expon
# 定义变量 sigma 可供用户输入
sigma = float(input("请输入 sigma 的值: "))
# 创建x轴数据范围
x = np.linspace(-10, 10, 400)
# 函数绘图
fig, ax = plt.subplots()
ax.plot(x, cauchy.pdf(x, loc=0, scale=sigma), label='Cauchy Distribution')
ax.plot(x, norm.pdf(x, loc=0, scale=sigma), label='Gaussian Distribution', linestyle='--')
ax.plot(x, expon.pdf(x, scale=1/sigma), label='Exponential Decay Distribution', linestyle='-.')
# 设置标题和标签
ax.set_title('Comparison of Distributions with Sigma: %.2f' % sigma)
ax.set_xlabel('Value')
ax.set_ylabel('Probability Density')
ax.legend()
plt.show()
```
在这个例子中,我们使用`scipy.stats`模块提供的概率密度函数(pdf)来计算每种分布的概率密度。`loc`参数用于设定分布的中心位置,`scale`参数对高斯分布和指数衰减分布来说控制了分布的宽度,而对于柯西分布则影响其"厚度"。
运行上述代码后,会显示一个包含三种分布曲线的图表,用户可以根据输入的`sigma`值看到它们如何变化。
阅读全文