Qt之基于QCustomPlot绘制直方图(Histogram),叠加正态分布曲线

本文旨在介绍如何在Qt环境中利用QCustomPlot库创建统计直方图,并叠加正态分布曲线。通过学习,你可以了解统计直方图和正态分布的关系,以及如何在实践中实现这一功能。
在Python中可以使用`numpy`和`matplotlib`库来生成1000个服从正态分布$N(50, 10)$(均值为50,标准差为10)的随机数,绘制直方图叠加正态分布曲线。示例代码如下: ```python import numpy as np import matplotlib.pyplot as plt from scipy.stats import norm # 生成1000个服从正态分布 N(50, 10) 的随机数 mu = 50 sigma = 10 data = np.random.normal(mu, sigma, 1000) # 绘制直方图 plt.hist(data, bins=30, density=True, alpha=0.6, color='g', label='Histogram') # 生成用于绘制正态分布曲线的x值 xmin, xmax = plt.xlim() x = np.linspace(xmin, xmax, 100) p = norm.pdf(x, mu, sigma) # 绘制正态分布曲线 plt.plot(x, p, 'k', linewidth=2, label='Normal Distribution Curve') # 添加图例和标题 plt.legend() plt.title('Histogram of Normal Distribution N(50, 10) with Curve') plt.xlabel('Value') plt.ylabel('Density') # 显示图形 plt.show() ``` ### 代码解释 1. **生成随机数**:使用`np.random.normal(mu, sigma, 1000)`生成1000个服从正态分布$N(50, 10)$的随机数。 2. **绘制直方图**:使用`plt.hist()`函数绘制直方图,`density=True`表示将直方图转换为概率密度图。 3. **生成正态分布曲线**:使用`scipy.stats.norm.pdf()`函数生成正态分布曲线的y值。 4. **绘制正态分布曲线**:使用`plt.plot()`函数绘制正态分布曲线。 5. **添加图例和标题**:使用`plt.legend()`添加图例,使用`plt.title()`、`plt.xlabel()`和`plt.ylabel()`添加标题和坐标轴标签。 6. **显示图形**:使用`plt.show()`显示图形。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_S_Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值