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

#-*-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绘制正态分布曲线的更多相关文章

  1. python 合并列表的八种方法

    Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。但你要知道,在团队合作里,炫技是大忌。为什么这么说呢?我说下自己的看法:越简洁的代码,越清晰的逻辑,就越不容易出错;在团队合作中,......

  2. python基于pexpect库自动获取日志信息

    1. 前言对大部分的人来说,解决 Bug 都是依靠关键字去日志去定位问题!在调试情况下,我们可以实时在控制台查看日志;但对于部署到服务器上的应用,日志都存放在服务器某个目录下,没法通过本地查看到这种情况下,就需要我们先登录服务器,然后进入到日志目录文件夹,最后通过日志文件去定位问题;如果涉及到 K8......

  3. Python+Django+Eclipse 在Windows下快速开发自己的网站

    一、配置开发环境我的开发环境是:Python3.3.2 + Django1.5.2 + Eclipse1、安装Python下载地址:http://www.python.org/getit/安装完成后为了方便可以配置下环境变量:2、安装Django—Python下用于开发网站的比较流行的web框架下载......

  4. python中altair可视化库实例用法

    作为六大python可视化库,基本上学会都是可以通吃任何领域的存在,本章要给大家介绍的Altair就是其中之一的可视化库,能够将数据转化为非常直观的图片,让我们更加清晰的认知数据之前直观的联系,俨然已经成为可视化库中的新星,好啦,下面就让我们详细了解下这个荣获众多粉丝的可视化库的使用技巧吧。安装Al......

  5. python用700行代码实现http客户端

    本文用python在TCP的基础上实现一个HTTP客户端, 该客户端能够复用TCP连接, 使用HTTP1.1协议.一. 创建HTTP请求HTTP是基于TCP连接的, 它的请求报文格式如下:因此, 我们只需要创建一个到服务器的TCP连接, 然后按照上面的格式写好报文并发给服务器, 就实现了一个HTTP......

  6. Python基础篇

    一、准备工作1、安装Python(注意选择一个稳定的版本,方便学习和使用)Python官网:https://www.python.org/2、安装一个anacondaanaconda官网:https://www.anaconda.com/安装完成之后在cmd里面输入conda -V检测,如果出现版本......

  7. 如何用python写个模板引擎

    一.实现思路本文讲解如何使用python实现一个简单的模板引擎, 支持传入变量, 使用if判断和for循环语句, 最终能达到下面这样的效果:渲染前的文本:{}十以内的奇数:{% for i in range(10) %}{% if i%2==1 %}{{i}}{% end %}{% e......

  8. python实现excel公式格式化的示例代码

    之前跟一些小伙伴有个讨论:大概就是很多跟数据打交道的朋友都面对过很复杂的excel公式,有时嵌套层数特别多,肉眼观看很容易蒙圈。有了这样的需求,我就有了解决问题的想法,说干就干,于是一个比较牛逼的excel公式格式化的工具就出现了。效果体验先看看效果吧:=IF(C11>100%*C4,IF(C......

  9. python 实现客户端与服务端的通信

    函数介绍Socket对象方法:服务端:函数描述.bind()绑定地址关键字,AF_INET下以元组的形式表示地址。常用bind((host,port)).listen()监听TCP,可以挂起的最大连接数,该值至少为1,一般设为5即可.accept()被动接受TCP客户端的连接客户端:函数描述.con......

  10. Python监控进程状态并实现告警

    公司的应用程序有时候会莫名其妙地挂掉,如果我们经常去登录服务器看是不是程序挂了,挂了再拉起,那样是非常耗时和麻烦的事情。后来我们通过使用 supervisor 去守护启动,实现方法如下:那什么是 supervisor了?Supervisor是用 Python 开发的一个client/server服务......

随机推荐

  1. Linux中让终端输入变为非阻塞的三种方法

    介绍在linux下每打开一个终端,系统自动的就打开了三个文件,它们的文件描述符分别为0,1,2,功能分别是“标准输入”、“标准输出”和“标准错误输出”,同时对应了三个文件流指针,分别是stdin,stdout和stderr。三个文件描述符定义了对应的宏,分别为STDIN_FILENO,STDOUT_......

  2. POST 参数到 Perl CGI

    use HTTP::Request::Common; use LWP::UserAgent;$user_agent = LWP::UserAgent->new;$request = POST 'http://www.yourserver.com/cgireader.cgi',[text1 =&......

  3. 超详细PyTorch实现手写数字识别器的示例代码

    前言深度学习中有很多玩具数据,mnist就是其中一个,一个人能否入门深度学习往往就是以能否玩转mnist数据来判断的,在前面很多基础介绍后我们就可以来实现一个简单的手写数字识别的网络了数据的处理我们使用pytorch自带的包进行数据的预处理import torchimport torchvision......

  4. 原生js使用面向对象的方法开发选项卡实例教程

    本教程通过js面向对象的方法来封装一个选项卡的实例,在实例中讲解js的面向对象如何实现功能。一般封装好的选项卡程序,只需要一个div元素即可。其它元素都是通过json数据来生成,所以封装好的选项卡实例,调用非常方便。先创建一个div元素,如下所示:<div class="tab_bo......

  5. java DelayQueue的原理浅析

    在对DelayQueue延迟功能的使用上,很多人不能后完全理解延迟的一些功能使用,这里我们深入来挖掘一下DelayQueue的原理。下面将从构造方法、接口、继承体系三个方面进行分析,需要注意的是,相较于其它的阻塞队列,DelayQueue因为延迟的功能多了接口的使用,一起来看具体内容。1.构造方法p......

  6. Java 找不到或无法加载主类的修复方法

    有时,当我们运行Java程序时,我们可能会看到“找不到或无法加载主类”。原因很容易猜测:JVM找不到主类并给出了这个错误。但是为什么不能呢?在本文中,我们将讨论找不到主类的可能原因。另外,我们将看看如何修复它们。示例程序我们将从HelloWorld程序开始:public class HelloWor......

  7. 细说 js 的7种继承方式

    在这之前,先搞清楚下面这个问题:function Father(){} Father.prototype.name = 'father';Father.prototype.children = [];const child1 = new Father();console.log('get1 =......

  8. Python学习(1) (python特点、优缺点)

    Python学习(1)一、python的特点二、python的优缺点1.优点2.缺点三、python源程序的基本概念一、python的特点1. python 是完全面向对象的语言 函数、模块、数字、字符串都是对象,在python中一切皆为对象完全支持继承、重载、多重继承支持重载运算符,也支持泛型设计......

  9. PHP实现chrome表单请求数据转换为接口使用的json数据

    为什么要写转换程序最近在做旧版程序迁移,旧的架构为常规的MVC模式,新版架构全部改成restful架构。由于改版数据是一致的,但是请求结构不一致,新版的请求全部以json形式提交,为了方便测试,之前一直都是直接在浏览器打开开发者工具,然后把请求内容复制过来,然后手动改成json形式,由于之前数据量比......

  10. SpringBoot + 微信公众号JSAPI支付功能的实现

    1、pom.xml依赖配置<!-- 微信支付 --><dependency><groupId>com.egzosn</groupId><artifactId>pay-java-wx</artifactId><version......