利用python绘制正态分布曲线


Posted in Python onJanuary 04, 2021

使用Python绘制正态分布曲线,借助matplotlib绘图工具;

利用python绘制正态分布曲线

#-*-coding:utf-8-*-
"""
python绘制标准正态分布曲线
"""
# ==============================================================
import numpy as np
import math
import matplotlib.pyplot as plt


def gd(x, mu=0, sigma=1):
  """根据公式,由自变量x计算因变量的值

  Argument:
    x: array
      输入数据(自变量)
    mu: float
      均值
    sigma: float
      方差
  """
  left = 1 / (np.sqrt(2 * math.pi) * np.sqrt(sigma))
  right = np.exp(-(x - mu)**2 / (2 * sigma))
  return left * right


if __name__ == '__main__':
  # 自变量
  x = np.arange(-4, 5, 0.1)
  # 因变量(不同均值或方差)
  y_1 = gd(x, 0, 0.2)
  y_2 = gd(x, 0, 1.0)
  y_3 = gd(x, 0, 5.0)
  y_4 = gd(x, -2, 0.5)

  # 绘图
  plt.plot(x, y_1, color='green')
  plt.plot(x, y_2, color='blue')
  plt.plot(x, y_3, color='yellow')
  plt.plot(x, y_4, color='red')
  # 设置坐标系
  plt.xlim(-5.0, 5.0)
  plt.ylim(-0.2, 1)

  ax = plt.gca()
  ax.spines['right'].set_color('none')
  ax.spines['top'].set_color('none')
  ax.xaxis.set_ticks_position('bottom')
  ax.spines['bottom'].set_position(('data', 0))
  ax.yaxis.set_ticks_position('left')
  ax.spines['left'].set_position(('data', 0))

  plt.legend(labels=['$\mu = 0, \sigma^2=0.2$', '$\mu = 0, \sigma^2=1.0$', '$\mu = 0, \sigma^2=5.0$', '$\mu = -2, \sigma^2=0.5$'])
  plt.show()

以上就是利用python绘制正态分布曲线的详细内容,更多关于python 正态分布的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
处理Python中的URLError异常的方法
Apr 30 Python
Python查找函数f(x)=0根的解决方法
May 07 Python
python3中bytes和string之间的互相转换
Feb 09 Python
浅谈pyhton学习中出现的各种问题(新手必看)
May 17 Python
python图像和办公文档处理总结
May 28 Python
django 中的聚合函数,分组函数,F 查询,Q查询
Jul 25 Python
Python 使用matplotlib模块模拟掷骰子
Aug 08 Python
Python 合并多个TXT文件并统计词频的实现
Aug 23 Python
Python时间差中seconds和total_seconds的区别详解
Dec 26 Python
python 利用toapi库自动生成api
Oct 19 Python
Python OpenCV实现传统图片格式与base64转换
Jun 13 Python
pytorch实现加载保存查看checkpoint文件
Jul 15 Python
Python 打印自己设计的字体的实例讲解
Jan 04 #Python
Python关于拓扑排序知识点讲解
Jan 04 #Python
Python经典五人分鱼实例讲解
Jan 04 #Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 #Python
python邮件中附加文字、html、图片、附件实现方法
Jan 04 #Python
python自动化发送邮件实例讲解
Jan 04 #Python
Python Selenium库的基本使用教程
Jan 04 #Python
You might like
理解PHP中的stdClass类
2014/04/18 PHP
使用 laravel sms 构建短信验证码发送校验功能
2017/11/06 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
JavaScript中的闭包原理分析
2010/03/08 Javascript
Javascript仿PHP $_GET获取URL中的参数
2014/05/12 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
浅谈Node.js:理解stream
2016/12/08 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
Nuxt.js踩坑总结分享
2018/01/18 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
发布一款npm包帮助理解npm的使用
2019/01/03 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
python笔记(2)
2012/10/24 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
JavaScript实现一维数组转化为二维数组
2018/04/17 Python
python实现人人自动回复、抢沙发功能
2018/06/08 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
2019/08/07 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
Love, Bonito国际官网:新加坡女装品牌
2021/03/13 全球购物
2014幼儿园小班工作总结
2014/11/10 职场文书
redis复制有可能碰到的问题汇总
2022/04/03 Redis
详解Spring Bean的配置方式与实例化
2022/06/10 Java/Android