在本教程中,我们将使用NumPy生成正态分布的模拟数据,并使用Seaborn进行可视化展示。具体步骤如下:
首先,你需要确保安装了以下Python库:NumPy和Seaborn。你可以使用以下命令来安装它们:
pip install numpy seaborn matplotlib
NumPy的numpy.random.normal
函数可以用来生成正态分布的随机数。下面是一个生成正态分布数据的示例:
import numpy as np
# 生成1000个正态分布的随机数,均值为0,标准差为1
mu, sigma = 0, 1 # 均值和标准差
size = 1000 # 样本量
data = np.random.normal(mu, sigma, size)
print(data)
接下来,我们将使用Seaborn库来对生成的正态分布数据进行可视化。以下是一个使用Seaborn绘制直方图和核密度估计(KDE)的示例:
import seaborn as sns
import matplotlib.pyplot as plt
# 设置Seaborn的风格
sns.set(style="whitegrid")
# 创建一个图形对象和轴对象
fig, ax = plt.subplots()
# 使用Seaborn绘制直方图和KDE
sns.histplot(data, kde=True, ax=ax, bins=30, color='blue')
# 设置标题和标签
ax.set(title='Normal Distribution (mu=0, sigma=1)', xlabel='Value', ylabel='Frequency')
# 显示图形
plt.show()
在这个示例中,我们使用了seaborn.histplot
函数来绘制直方图,并通过设置kde=True
来同时绘制核密度估计曲线。
完整的代码如下:
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
# 生成1000个正态分布的随机数,均值为0,标准差为1
mu, sigma = 0, 1 # 均值和标准差
size = 1000 # 样本量
data = np.random.normal(mu, sigma, size)
# 设置Seaborn的风格
sns.set(style="whitegrid")
# 创建一个图形对象和轴对象
fig, ax = plt.subplots()
# 使用Seaborn绘制直方图和KDE
sns.histplot(data, kde=True, ax=ax, bins=30, color='blue')
# 设置标题和标签
ax.set(title='Normal Distribution (mu=0, sigma=1)', xlabel='Value', ylabel='Frequency')
# 显示图形
plt.show()
运行上述代码,你将会看到一个直方图和一个核密度估计曲线,直观地展示了正态分布数据的分布情况。这个图形结合了离散数据的直方图和连续数据的KDE曲线,能够提供更丰富的分布信息。
你可以通过调整均值(mu
)和标准差(sigma
)来生成不同参数的正态分布数据。例如,生成均值为10,标准差为2的正态分布数据:
mu, sigma = 10, 2
data = np.random.normal(mu, sigma, size)
然后使用相同的Seaborn代码进行可视化:
fig, ax = plt.subplots()
sns.histplot(data, kde=True, ax=ax, bins=30, color='blue')
ax.set(title='Normal Distribution (mu=10, sigma=2)', xlabel='Value', ylabel='Frequency')
plt.show()
这样,你就可以生成和可视化不同参数的正态分布数据了。
原文链接:codingdict.net