1、正态分布概述

正态分布(也叫高斯分布)在自然界和社会现实中随处可见。它的重要性在于中心极限定理,即随着样本数量的增加,样本平均值的分布将趋近于正态分布。正态分布的概率密度函数可以用公式进行描述:

import math

def normal_distribution(x, mu, sigma):
    return 1/(sigma*math.sqrt(2*math.pi))*math.exp(-1*(x-mu)**2/(2*sigma**2))

其中,x为随机变量的值,μ为期望,σ为标准差。

2、绘制正态分布图

我们可以使用matplotlib库来绘制正态分布图:

import matplotlib.pyplot as plt
import numpy as np

def plot_normal(mu, sigma, color):
    x = np.linspace(mu - 3*sigma, mu + 3*sigma, 100)
    y = normal_distribution(x, mu, sigma)
    plt.plot(x, y, color=color, linewidth=2)

plot_normal(0, 1, 'r')
plt.xlabel('x')
plt.ylabel('Probability density')
plt.title('Normal Distribution')
plt.show()

运行结果如下所示:

Python绘制正态分布图(附python绘图技巧)-冯金伟博客园

3、探究正态分布参数

3.1、改变均值

我们可以通过改变正态分布的均值来观察对正态分布图的影响:

colors = ['r', 'g', 'b']
mu_values = [-1, 0, 1]

plt.figure(figsize=(12,4))
for mu, color in zip(mu_values, colors):
    plot_normal(mu, 1, color)
plt.xlabel('x')
plt.ylabel('Probability density')
plt.title('Normal Distribution with different mu')
plt.show()

运行结果如下所示:

Python绘制正态分布图(附python绘图技巧)-冯金伟博客园

3.2、改变标准差

我们同样可以通过改变正态分布的标准差来观察对正态分布图的影响:

sigma_values = [0.5, 1, 1.5]

plt.figure(figsize=(12,4))
for sigma, color in zip(sigma_values, colors):
    plot_normal(0, sigma, color)
plt.xlabel('x')
plt.ylabel('Probability density')
plt.title('Normal Distribution with different sigma')
plt.show()

运行结果如下所示:

Python绘制正态分布图(附python绘图技巧)-冯金伟博客园

3.3、改变均值和标准差

最后,我们可以同时改变正态分布的均值和标准差:

mu_sigma_values = [(-1, 0.5), (0, 1), (1, 1.5)]

plt.figure(figsize=(12,4))
for (mu, sigma), color in zip(mu_sigma_values, colors):
    plot_normal(mu, sigma, color)
plt.xlabel('x')
plt.ylabel('Probability density')
plt.title('Normal Distribution with different mu and sigma')
plt.show()

运行结果如下所示:

Python绘制正态分布图(附python绘图技巧)-冯金伟博客园

4、总结

通过本文的介绍,我们学习了正态分布的概念和如何使用Python绘制正态分布图。我们也探究了不同均值和标准差对正态分布图的影响。在实际应用中,我们可以通过绘制正态分布图来分析一组随机变量的分布情况并进行下一步的数据处理。