将x和y都不同的两组数据画两个折线正态分布图在一个画上

该篇文章展示了如何使用Python的numpy和matplotlib库计算并绘制两组(x,y)数据的正态分布曲线,分别基于每个数据组的均值和标准差。
摘要由CSDN通过智能技术生成
import numpy as np  
import matplotlib.pyplot as plt  
from scipy.stats import norm  
  
# 假设你有两组不同的 (x, y) 数据  
x1 = np.array([1, 2, 3, 4, 5])  
y1 = np.array([1, 4, 9, 16, 25])  # y1 对应 x1  
  
x2 = np.array([1.5, 2.5, 3.5, 4.5, 5.5])  
y2 = np.array([2, 3, 5, 7, 11])  # y2 对应 x2  
  
# 计算每个数据组的均值和标准差  
mean1, std1 = np.mean(x1), np.std(x1)  
mean2, std2 = np.mean(x2), np.std(x2)  
  
# 创建用于绘制正态分布的 x 值范围  
x_min = min(x1.min(), x2.min())  
x_max = max(x1.max(), x2.max())  
x_values = np.linspace(x_min, x_max, 1000)  
  
# 计算每个数据组的正态分布 PDF  
norm_pdf1 = norm.pdf(x_values, mean1, std1)  
norm_pdf2 = norm.pdf(x_values, mean2, std2)  
  
# 绘制第一个正态分布曲线  
plt.plot(x_values, norm_pdf1, label=f'N(μ={mean1:.2f}, σ={std1:.2f})')  
  
# 绘制第二个正态分布曲线  
plt.plot(x_values, norm_pdf2, label=f'N(μ={mean2:.2f}, σ={std2:.2f})')  
  
# 添加图例  
plt.legend()  
  
# 添加标题和轴标签  
plt.title('Two Normal Distribution Curves')  
plt.xlabel('X Axis')  
plt.ylabel('Probability Density')  
  
# 显示网格  
plt.grid(True)  
  
# 显示图形  
plt.show()
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值