python科研绘图:带正态分布的直方图

带正态分布的直方图是一种用直方图表示数据分布的图表,其中数据经过了正态分布的拟合。正态分布是一种常见的概率分布,具有平均值和标准差。在带正态分布的直方图中,数据被分成不同的区间,每个区间的频数或频率可以用颜色或标签表示。这种图表通常用于分析一组数据在不同区间内的分布情况,以及数据是否符合正态分布。

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
plt.rcParams['font.sans-serif'] = ['SimHei']  # 防止中文标签乱码
plt.rcParams['axes.unicode_minus'] = False
​
# 生成一个示例数据集,这里使用随机数据
np.random.seed(0)
data = np.random.normal(loc=50, scale=5, size=40)  # 均值=50,标准差=5
# 计算均值和标准差
mean = np.mean(data)
std_dev = np.std(data, ddof=1)  # 这是 S 图的样本标准差
# 创建概率密度曲线的 x 值范围
x = np.linspace(mean - 3 * std_dev, mean + 3 * std_dev, 100)
# 计算概率密度函数的值
pdf = norm.pdf(x, loc=mean, scale=std_dev)
print("概率密度曲线Y轴最大值:", max(pdf))
plt.figure(figsize=(6, 6))
# 绘制直方图
plt.hist(data, bins=10, density=True, alpha=0.6, color='b', label='Generated Data')
# 绘制概率密度曲线图
plt.plot(x, pdf, color='r', label='概率密度曲线')
plt.xlabel('观测值')
plt.ylabel('概率密度')
plt.title('概率密度曲线图')
plt.legend()
plt.grid(True)
plt.tight_layout()
# 显示图形
plt.show()
​

import numpy as np
import matplotlib.pyplot as plt
​
# 生成随机数据,具有正态分布
mu, sigma = 0, 1  # 均值和标准差
data = np.random.normal(mu, sigma, 1000)
​
# 绘制直方图
plt.hist(data, bins=50, density=True, alpha=0.7, color='blue', edgecolor='black')
​
# 绘制正态分布曲线
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = (1 / (sigma * np.sqrt(2 * np.pi))) * np.exp(-0.5 * ((x - mu) / sigma) ** 2)
plt.plot(x, p, 'k', linewidth=2)
​
# 添加标题和标签
plt.title('Histogram with Normal Distribution')
plt.xlabel('Value')
plt.ylabel('Frequency')
​
# 显示图形
plt.show()
​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值