python生成正态分布图,图上显示样本均差,标准差的值且Y坐标轴不显示数字
时间: 2024-09-24 17:04:00 浏览: 51
在Python中,我们可以使用matplotlib库来绘制正态分布图,并利用seaborn库添加一些额外的统计信息如样本均差和标准差。同时,你可以设置y轴不显示数字标签。下面是一个示例:
首先安装所需的库(如果尚未安装):
```bash
pip install matplotlib seaborn numpy
```
然后,创建一个正态分布并绘制图形:
```python
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
# 设置随机种子以便复现结果
np.random.seed(0)
# 创建正态分布数据
mu, sigma = 0, 0.1 # 均值和标准差
data = np.random.normal(mu, sigma, 1000)
# 绘制正态分布曲线
sns.set_theme(style="ticks")
fig, ax = plt.subplots()
ax.plot(data, 'k', lw=2, alpha=0.6, label='Sample data')
ax.hist(data, bins=30, density=True, edgecolor='black', linewidth=1.2)
# 添加均差和标准差到图上
stats = "μ={:.2f}, σ={:.2f}".format(mu, sigma)
ax.text(0.95, 0.05, stats,
transform=ax.transAxes, ha='right', va='bottom',
fontsize=14, color='gray')
# 隐藏y轴数字
ax.yaxis.set_major_formatter(plt.NullFormatter())
ax.legend(title='Legend Title', loc='upper center', shadow=True, fontsize='x-large')
ax.grid(True)
plt.title('Normal Distribution with Mean and Standard Deviation')
plt.show()
```
这个脚本会生成一个正态分布图,其中包含均值(μ)和标准差(σ)的文字描述。y轴将不显示数字。
阅读全文