在python中画正态分布图像的实例


Posted in Python onJuly 08, 2019

1.正态分布简介

正态分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一个非常重要也非常常见的连续概率分布。正态分布大家也都非常熟悉,下面做一些简单的介绍。

假设随机变量XX服从一个位置参数为μμ、尺度参数为σσ的正态分布,则可以记为:

在python中画正态分布图像的实例

而概率密度函数为

在python中画正态分布图像的实例

2.在python中画正态分布直方图

先直接上代码

import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt


def demo1():
  mu ,sigma = 0, 1
  sampleNo = 1000
  np.random.seed(0)
  s = np.random.normal(mu, sigma, sampleNo)

  plt.hist(s, bins=100, normed=True)
  plt.show()

上面是一个标准正态分布的直方图。最后输出的图像为:

在python中画正态分布图像的实例

很多同学心里会有疑惑:这个图像看上去虽然是有点奇怪,虽然形状有点像正态分布,但是差得还比较多嘛,不能算是严格意义上的正态分布。

为什么会有这种情况出现呢?其实原因很简单,代码中我们设定的smapleno = 1000。这个数量并不是很大,所以整个图像看起来分布并不是很规则,只是有大致的正态分布的趋势。如果我们将这个参数加大,相当于增加样本数量,那么整个图像就会更加接近正态分布的形状。跟抛硬币的原理一致,抛的次数越多,正面与反面的出现概率更接近50%。

如果我们将sampleno设置为1000000,分布图像如下。

在python中画正态分布图像的实例

下面这个图像是不是看起来就漂亮多了!

3.画直方图与概率分布曲线

import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt

def demo2():
  mu, sigma , num_bins = 0, 1, 50
  x = mu + sigma * np.random.randn(1000000)
  # 正态分布的数据
  n, bins, patches = plt.hist(x, num_bins, normed=True, facecolor = 'blue', alpha = 0.5)
  # 拟合曲线
  y = mlab.normpdf(bins, mu, sigma)
  plt.plot(bins, y, 'r--')
  plt.xlabel('Expectation')
  plt.ylabel('Probability')
  plt.title('histogram of normal distribution: $\mu = 0$, $\sigma=1$')

  plt.subplots_adjust(left = 0.15)
  plt.show()

最后得到的图像为:

在python中画正态分布图像的实例

以上这篇在python中画正态分布图像的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基于queue和threading实现多线程下载实例
Oct 08 Python
python实现RSA加密(解密)算法
Feb 17 Python
深入浅析python定时杀进程
Jun 06 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 Python
利用Python批量提取Win10锁屏壁纸实战教程
Mar 27 Python
python人民币小写转大写辅助工具
Jun 20 Python
Python按钮的响应事件详解
Mar 04 Python
python hash每次调用结果不同的原因
Nov 21 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
django ListView的使用 ListView中获取url中的参数值方式
Mar 27 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
Jun 01 Python
python pygame 开发五子棋双人对弈
May 02 Python
python实现beta分布概率密度函数的方法
Jul 08 #Python
python中pip的使用和修改下载源的方法
Jul 08 #Python
python绘制直方图和密度图的实例
Jul 08 #Python
搭建python django虚拟环境完整步骤详解
Jul 08 #Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 #Python
33个Python爬虫项目实战(推荐)
Jul 08 #Python
详解python中的time和datetime的常用方法
Jul 08 #Python
You might like
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
PHP生成不同颜色、不同大小的tag标签函数
2013/09/23 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
jQuery 全选效果实现代码
2009/03/23 Javascript
jquery中文乱码的多种解决方法
2013/06/21 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
2017/05/27 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
vue实现移动端悬浮窗效果
2018/12/01 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
Vue实现省市区三级联动
2020/12/27 Vue.js
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
Python捕捉和模拟鼠标事件的方法
2015/06/03 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
python绘制趋势图的示例
2020/09/17 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
机械设计制造专业个人求职信
2013/09/25 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
数学教育专业求职信
2014/07/22 职场文书
先进典型发言材料
2014/12/30 职场文书
德能勤绩工作总结
2015/08/11 职场文书
早恋主题班会
2015/08/14 职场文书
感谢师恩主题班会
2015/08/17 职场文书
公司晚会主持词
2019/04/17 职场文书