如何在Python中使用 Matplotlib 绘制正态分布?
先决条件:
- Matplotlib
- 麻木
- 西比
- 统计数据
正态分布是统计学中使用的概率函数,用于说明数据值的分布方式。它是统计学中最重要的概率分布函数,因为它在真实案例场景中具有优势。例如,人口的身高、鞋码、智商水平、掷骰子等等。
正态分布或高斯分布的概率密度函数由下式给出:
其中,x 为变量,mu 为均值,sigma 标准差
需要的模块
- Matplotlib是 python 的数据可视化库,广泛用于数据可视化。
- Numpy是一个通用的数组处理包。它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具。它是使用Python进行科学计算的基本包。
- Scipy是一个Python库,可用于解决许多数学方程和算法。
- Statistics模块提供计算数值数据的数理统计的函数。
使用的功能
- 计算数据的平均值
句法:
mean(data)
- 计算数据的标准偏差
句法:
stdev(data)
- 计算数据的正态概率密度使用norm.pdf,它指的是正态概率密度函数,它是scipy库中的一个模块,它使用上述概率密度函数来计算值。
句法:
norm.pdf(Data, loc, scale)
在这里,loc 参数也称为均值,尺度参数也称为标准差。
方法
- 导入模块
- 创建数据
- 计算平均值和偏差
- 计算正态概率密度
- 使用上述计算值绘图
- 显示图
下面是实现。
Python3
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import statistics
# Plot between -10 and 10 with .001 steps.
x_axis = np.arange(-20, 20, 0.01)
# Calculating mean and standard deviation
mean = statistics.mean(x_axis)
sd = statistics.stdev(x_axis)
plt.plot(x_axis, norm.pdf(x_axis, mean, sd))
plt.show()
输出: