用python绘制正态分布直方图
时间: 2025-01-02 07:46:44 浏览: 22
在Python中,你可以使用matplotlib库来绘制正态分布的直方图。下面是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义正态分布的均值和标准差
mean, std = 0, 1
# 创建一组随机数,模拟正态分布
data = np.random.normal(mean, std, 1000) # 可以调整样本数量
# 绘制直方图
plt.hist(data, bins=50, density=True, alpha=0.7, color='blue') # bins用于设置分组区间,density=True表示概率密度分布
plt.title('正态分布直方图')
plt.xlabel('数值')
plt.ylabel('频率/概率密度')
plt.grid(True)
# 添加高斯曲线作为参考
x = np.linspace(min(data), max(data), 100)
pdf = ((1 / (np.sqrt(2 * np.pi) * std)) * np.exp(-(x - mean)**2 / (2 * std**2)))
plt.plot(x, pdf, 'r-', linewidth=2, label='正态分布曲线')
plt.legend()
plt.show()
相关问题
使用python读取excel中的某几列数据并绘制正态分布直方图与核密度图,并在正态分布直方图、核密度图中添加图例与正态分布曲线,使用sns包
好的,以下是代码实现:
```python
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import norm
# 读取excel数据
df = pd.read_excel('data.xlsx', usecols=[1, 2, 3, 4])
# 绘制直方图与核密度图
sns.set_style('whitegrid')
sns.histplot(data=df, x='A', kde=True, label='A')
sns.histplot(data=df, x='B', kde=True, label='B')
sns.histplot(data=df, x='C', kde=True, label='C')
sns.histplot(data=df, x='D', kde=True, label='D')
# 添加图例
plt.legend()
# 绘制正态分布曲线
x = np.linspace(-10, 10, 100)
plt.plot(x, norm.pdf(x, 0, 1), label='Normal')
# 添加图例
plt.legend()
# 显示图像
plt.show()
```
其中,`usecols`参数指定需要读取的列,`kde=True`参数表示绘制核密度图,`sns.histplot()`函数绘制直方图和核密度图,`sns.set_style()`函数设置图像外观风格,`plt.plot()`函数绘制正态分布曲线,`plt.legend()`函数添加图例,`plt.show()`函数显示图像。
python做正态分布直方图
要在Python中绘制正态分布直方图,可以使用NumPy和Matplotlib库。以下是一些步骤:
1. 导入NumPy和Matplotlib库。
2. 使用NumPy的random.normal()函数生成一个正态分布的序列。
3. 将序列中的每个元素四舍五入为整数。
4. 使用NumPy的unique()函数获取序列中的唯一值和它们的出现次数。
5. 使用Matplotlib的scatter()函数绘制散点图。
下面是一个示例代码:
```
import numpy as np
import matplotlib.pyplot as plt
# 生成正态分布序列
n = 100000
ex = 1000
de = 20
y = np.random.normal(ex, de, n)
# 四舍五入为整数
y = np.round(y).astype(int)
# 获取唯一值和出现次数
un, cnt = np.unique(y, return_counts=True)
# 绘制散点图
plt.scatter(un, cnt)
plt.show()
```
这段代码将生成一个正态分布的直方图。其中,x轴表示数值,y轴表示该数值在序列中出现的次数。可以根据需要调整参数来改变直方图的样式和布局。
阅读全文