绘制边缘直方图并添加密度曲线的Python代码

217 篇文章 ¥59.90 ¥99.00
本文介绍如何使用Python和相关库绘制边缘直方图并添加密度曲线,以可视化二维数据分布。首先导入NumPy和Matplotlib库,然后生成正态分布的随机数据。接着使用Matplotlib的直方图函数,结合SciPy的核密度估计计算密度曲线。最后,完善图表的标题、坐标轴标签和图例。提供的完整代码示例帮助读者理解和实现这一过程。

绘制边缘直方图并添加密度曲线的Python代码

边缘直方图是一种用于可视化二维数据分布的有效工具。它将两个变量的频率分布以直方图的形式展示,并通过在直方图上绘制密度曲线来提供更详细的信息。在本篇文章中,我将向您展示如何使用Python绘制边缘直方图并添加密度曲线。

首先,我们需要导入所需的库。在这个例子中,我们将使用NumPy和Matplotlib库。

import numpy as np
import matplotlib.pyplot as plt

接下来,我们将生成一些随机的二维数据作为示例。在这个例子中,我们将生成500个服从正态分布的随机样本。

np.random.seed(0)
x <
使用Python绘制概率密度曲线可以借助不同的库来实现,以下介绍两种常见的方法。 ### 方法一:使用`numpy`、`matplotlib`和`scipy`库 此方法适用于绘制随机数据的概率密度曲线以及理论上的正态分布曲线。示例代码如下: ```python import numpy as np import matplotlib.pyplot as plt from scipy.stats import norm # 随机生成1000个正态分布的数 data = np.random.randn(1000) # 生成包含这1000个数的直方图, bins表示条形的个数 plt.hist(data, bins=30, density=True, alpha=0.5, histtype='stepfilled', color='steelblue', edgecolor='none') # 画出理论上的正态分布曲线 xmin, xmax = plt.xlim() x = np.linspace(xmin, xmax, 100) p = norm.pdf(x, 0, 1) plt.plot(x, p, 'k', linewidth=2) plt.show() ``` 上述代码中,首先使用`numpy`生成随机的正态分布数据,然后用`matplotlib`的`hist`函数绘制直方图,设置`density=True`使其表示概率密度。最后使用`scipy.stats`的`norm.pdf`函数计算理论正态分布的概率密度绘制曲线[^1]。 ### 方法二:绘制不同参数的正态分布概率密度曲线 可以使用`matplotlib`绘制不同均值和方差的正态分布概率密度曲线添加图例进行区分。示例代码如下: ```python import numpy as np import matplotlib.pyplot as plt from scipy.stats import norm x = np.linspace(-5, 5, 100) # 不同均值和方差的正态分布 params = [(0, 0.2), (0, 1.0), (0, 5.0), (-2, 0.5)] for mu, sigma in params: p = norm.pdf(x, mu, np.sqrt(sigma)) plt.plot(x, p, label=f'$\mu = {mu}, \sigma^2={sigma}$') plt.legend() plt.show() ``` 此代码中,通过循环计算不同均值和方差下正态分布的概率密度使用`matplotlib`绘制曲线,最后添加图例展示各曲线对应的参数[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值