利用python绘制正态分布曲线

下面我将为您讲解利用Python绘制正态分布曲线的完整攻略。

1.准备工作

在进行绘制正态分布曲线前,我们需要先安装一下Python中用于科学计算的常用库NumPy和matplotlib。

!pip install numpy
!pip install matplotlib

2.确定正态分布曲线的参数

正态分布曲线拥有两个参数:均值μ和标准差σ。在确定我们需要绘制的正态分布曲线前,我们需要先明确均值和标准差。

假设我们需要绘制均值为5,标准差为1.5的正态分布曲线,则我们可以使用以下代码:

import numpy as np
import matplotlib.pyplot as plt

mu, sigma = 5, 1.5 # 均值和标准差

3.计算正态分布曲线上的点

接下来,我们需要计算正态分布曲线上的点,通常可以使用NumPy中的np.exp()和np.power()函数来计算正态分布函数上的值。这里我们使用以下代码来计算正态分布概率密度函数(Probability Density Function,PDF):

x = np.linspace(mu - 3*sigma, mu + 3*sigma, 100)
y = (1/(sigma * np.sqrt(2 * np.pi))) * np.exp(-(x - mu)**2 / (2 * sigma**2))

其中,np.linspace()函数用于创建一个从(μ-3σ)到(μ+3σ)之间的等间隔数据,x表示横坐标;

y的计算逻辑是正态分布函数的标准公式,$(1/(σ\sqrt{2π}))exp^{\frac{-(x-μ)^2}{2σ^2}}$,y表示横坐标对应的纵坐标。

4.绘制正态分布曲线

绘制正态分布曲线可以使用matplotlib库中的plt.plot()函数,具体代码如下:

plt.plot(x, y, color='blue')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.title('Normal Distribution')
plt.show()

其中,plt.plot()函数用于绘制正态分布曲线;

plt.xlabel和plt.ylabel函数用于设置x轴和y轴的标签;

plt.title()函数用于设置图形的标题;

plt.show()函数用于显示图形。

示例说明

示例1:绘制标准正态分布曲线

若我们需要绘制标准正态分布曲线,则均值为0,标准差为1,代码如下:

import numpy as np
import matplotlib.pyplot as plt

mu, sigma = 0, 1 # 均值和标准差

x = np.linspace(mu - 3*sigma, mu + 3*sigma, 100)
y = (1/(sigma * np.sqrt(2 * np.pi))) * np.exp(-(x - mu)**2 / (2 * sigma**2))

plt.plot(x, y, color='blue')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.title('Standard Normal Distribution')
plt.show()

示例2:绘制多个不同标准差的正态分布曲线

若我们需要同时绘制均值为0,标准差为1、2、3的正态分布曲线,则代码如下:

import numpy as np
import matplotlib.pyplot as plt

mu = 0 # 均值

x = np.linspace(mu - 3*1, mu + 3*1, 100) # 标准差为1的正态分布曲线
y1 = (1/(1 * np.sqrt(2 * np.pi))) * np.exp(-(x - mu)**2 / (2 * 1**2))

x = np.linspace(mu - 3*2, mu + 3*2, 100) # 标准差为2的正态分布曲线
y2 = (1/(2 * np.sqrt(2 * np.pi))) * np.exp(-(x - mu)**2 / (2 * 2**2))

x = np.linspace(mu - 3*3, mu + 3*3, 100) # 标准差为3的正态分布曲线
y3 = (1/(3 * np.sqrt(2 * np.pi))) * np.exp(-(x - mu)**2 / (2 * 3**2))

plt.plot(x, y1, color='blue', label='sigma=1')
plt.plot(x, y2, color='red', label='sigma=2')
plt.plot(x, y3, color='green', label='sigma=3')

plt.legend()
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.title('Normal Distribution with Different Standard Deviation')
plt.show()

这里我们直接在xticks中设定坐标轴范围,以区分出不同的正态分布曲线,并使用plt.legend()函数添加图例,区分出不同标准差的曲线。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用python绘制正态分布曲线 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 对Python3使运行暂停的方法详解

    对Python3使用运行暂停的方法详解 在Python开发过程中,有时候我们需要使程序暂停一段时间,比如为了让用户有时间阅读输出结果,或是为了避免过于频繁地向API发送请求。本文将介绍几种Python3中实现运行暂停的方法。 使用time模块 time模块提供了一些函数来获取当前时间、生成睡眠时间,以及暂停执行脚本的时间等。这里介绍两个最常用的函数: tim…

    python 2023年6月2日
    00
  • Python基础数据类型tuple元组的概念与用法

    Python基础数据类型tuple元组的概念与用法 概念 在 Python 中,元组 (tuple) 是一种不可变序列,可以把它看做不可变的列表,与列表不同的是,元组使用小括号 “()” 表示,而不是使用中括号 “[]”。 创建元组 创建一个元组,只需在括号内放置元素,并使用 “,” 将它们分隔开即可。 tuple1 = (1, 2, 3) tuple2 =…

    python 2023年5月14日
    00
  • python中使用正则表达式的方法详解

    Python中使用正则表达式的方法详解 正则表达式是一种用于描述字符串模式的语言,它可以用于匹配、查找、替换和割字符串。Python中的re模块提供了对正则表达式的支持,可以方便进行字符串的处理。本文将详细讲解Python中使用正则表达式的方法,包括正则表达式的语法、re模块的常用函数以及两个常用的匹配实例。 正则表达式语法 正则表达式由一些特殊字符和普通字…

    python 2023年5月14日
    00
  • Matplotlib animation模块实现动态图

    下面是详细讲解Matplotlib animation模块实现动态图的完整攻略。 1. 简介 Matplotlib是一个可视化工具,它的animation模块为我们提供了创建动态图的功能。animation模块通常使用FuncAnimation函数来生成动态图,其中可以使用用户自定义的函数来实现动态效果,同时也可以通过一些参数来控制其行为,比如进行循环、控制…

    python 2023年5月18日
    00
  • python获取当前用户的主目录路径方法(推荐)

    要获取当前用户的主目录路径,可以使用 Python 标准库中的 pathlib 模块的 Path.home() 方法。 具体步骤如下: 引入 pathlib 模块 from pathlib import Path 使用 Path.home() 方法获取主目录路径 home_path = Path.home() print(home_path) 以上代码将输出…

    python 2023年6月2日
    00
  • PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例

    PHP中的迭代器是一种用于遍历数据集合的机制。通过实现迭代器接口,我们可以将一个对象转换成一个可迭代的集合,从而可以通过foreach遍历其内容。 在PHP中,一个简单的迭代器实现需要定义以下5个方法: current():返回集合当前位置的元素。 key():返回集合当前位置的键。 next():将集合向前移动一个元素。 rewind():将集合倒回到第一…

    python 2023年6月3日
    00
  • Python 多次包装代替状态变化

    多次包装代替状态变化是一种非常有用的编程思想,可以使代码更加简洁易懂。在 Python 中,可以使用装饰器来实现多次包装。 什么是装饰器 装饰器是一个在运行时修改类或函数行为的函数。装饰器是将定义和函数包装在另一个函数里,以便在运行时修改函数的行为。装饰器是一种非常有用的编程技巧,可以避免代码重复和显式继承。 如何使用装饰器进行多次包装 使用装饰器进行多次包…

    python-answer 2023年3月25日
    00
  • 如何在Python中删除MySQL数据库中的数据?

    以下是在Python中删除MySQL数据库中的数据的完整使用攻略。 使用MySQL数据库的前提条件 在使用Python连接MySQL数据库之前,确保已经装了MySQL数据库,并已经创建了使用的数据库和表。同时,还需要安装Python的动程序,例如mysql–python。 步骤1:导入模块 在Python中,使用mysql.connector模块连接MyS…

    python 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部