用Python做卡方分布,n=1,n=4,n=10,n=20,并显示出做出的图
时间: 2024-11-05 09:28:04 浏览: 7
在Python中,我们可以使用matplotlib库来创建卡方分布的直方图,以及seaborn库来进行更美观的展示。卡方分布(chi-squared distribution)通常用于检验独立性等统计假设。对于n值不同的情况,我们会改变样本大小来模拟卡方分布。
首先,确保已安装必要的库:
```bash
pip install matplotlib seaborn numpy
```
然后你可以编写一个函数来生成卡方分布并绘制图形:
```python
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
def create_chisquare_histogram(n_values):
data = []
for n in n_values:
# 利用numpy随机生成卡方分布
chisq_data = np.random.chisquare(df=n, size=10000)
data.append(chisq_data)
fig, axs = plt.subplots(len(n_values), sharex=True, figsize=(8, 6 * len(n_values)))
for i, n in enumerate(n_values):
sns.histplot(data[i], bins=range(0, 50), ax=axs[i], kde=False, label=f'n={n}')
axs[i].set_title(f'Chi-Squared Distribution (df={n})')
axs[i].set_xlabel('Value')
axs[i].legend()
plt.tight_layout()
plt.show()
# 定义n值列表
n_values = [1, 4, 10, 20]
create_chisquare_histogram(n_values)
阅读全文