使用Python绘制单变量数据的正态分布曲线可以通过以下步骤实现:
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
numpy.random.randn()
生成服从标准正态分布的随机数据:data = np.random.randn(1000)
matplotlib.pyplot.hist()
函数可以绘制数据的直方图,并且设置参数density=True
来使直方图的面积为1(概率密度函数):plt.hist(data, bins=30, density=True, alpha=0.6, color='g')
scipy.stats.norm
库来计算正态分布的概率密度函数,其中可以使用数据的平均值和标准差来拟合正态分布曲线:mu, std = data.mean(), data.std()
x = np.linspace(data.min(), data.max(), 100)
pdf = stats.norm.pdf(x, mu, std)
matplotlib.pyplot.plot()
函数来绘制正态分布曲线,并且设置参数label
为“正态分布”:plt.plot(x, pdf, label='正态分布')
matplotlib.pyplot.legend()
函数添加图例,并且使用matplotlib.pyplot.title()
函数添加标题:plt.legend()
plt.title('单变量数据的正态分布曲线')
matplotlib.pyplot.show()
函数显示绘制的图形:plt.show()
完整的代码如下:
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
# 生成随机数据
data = np.random.randn(1000)
# 绘制直方图
plt.hist(data, bins=30, density=True, alpha=0.6, color='g')
# 计算正态分布的概率密度函数
mu, std = data.mean(), data.std()
x = np.linspace(data.min(), data.max(), 100)
pdf = stats.norm.pdf(x, mu, std)
# 绘制正态分布曲线
plt.plot(x, pdf, label='正态分布')
# 添加图例和标题
plt.legend()
plt.title('单变量数据的正态分布曲线')
# 显示图形
plt.show()
这样就可以使用Python绘制单变量数据的正态分布曲线了。注意,这只是一个示例,实际使用时可以根据需求进行调整和修改。
领取专属 10元无门槛券
手把手带您无忧上云