n, bins, patches = plt.hist(datasets, bins, normed=False, facecolor=None, alpha=None)

函数说明

用于绘制多个数据集datasets的直方图


主要形参:

  1. datasets: 数据集列表, datasets中各个数据集的长度可以不等, 也可以传入numpy中的 2-D ndarray
  2. bins: 直方图中箱子(bin)的个数
  3. facecolor: 箱子的颜色
  4. alpha: 箱子的透明度
  5. normed: 决定直方图y轴取值是落在某个箱子中的元素的个数(normed=False或normed=0),

    还是某个箱子中的元素的个数占总体的百分比(normed=True或normed=1)

函数返回值: 返回值为一个元组(tuple)

  1. n: 直方图中 数据x落在 某个箱子里元素个数(或者占比)组成的数组
  2. bins: 直方图中 箱子取值(可能是落在该区间的x的均值)组成的数组
  3. patches: 是一个封装了 p 和 n信息的列表的集合(Patch对象)

例子

import numpy as np
import matplotlib.pyplot as plt # Fixing random state for reproducibility
# np.random.randn 这个函数的作用就是从标准正态分布中返回一个或多个样本值
# seed(): 设置种子是为了输出图形具有可重复性
np.random.seed(20170617)
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)
p, bins, patches = plt.hist(x, 50, normed=True, facecolor='g', alpha=0.75)

改变形参 bins, facecolor, normed

设置 bins=10, facecolor=cyan, normed=0

通过下图可以看到 箱子个数, 颜色, 以及 y轴的变化

p, bins, patches = plt.hist(x, 10, normed=0, facecolor='cyan', alpha=0.75)

datasets为多个一维数据集

import numpy as np
import matplotlib.pyplot as plt np.random.seed(20170617)
mu, sigma = 100, 15
x1 = mu + sigma * np.random.randn(10000) np.random.seed(20160617)
x2 = mu + sigma * np.random.randn(3000)
p, bins, patches = plt.hist((x1,x2), 10, normed=0, alpha=0.4)

datasets 为 2D-ndarray

import numpy as np
import matplotlib.pyplot as plt np.random.seed(20170617)
mu, sigma = 100, 15
t = np.random.randn(3600)
t.shape = (900, 4)
x = mu + sigma * t p, bins, patches = plt.hist(x, 5, normed=10, alpha=0.4)

matplotlib 直方图绘制详解的更多相关文章

  1. python matplotlib.pyplot 条形图详解

    python matplotlib.pyplot 条形图详解 一.创建直方图 可以用bar函数来创建直方图 然后用show函数显示直方图 比如: import matplotlib.pyplot as ...

  2. View绘制详解(五),draw方法细节详解之View的滚动/滑动问题

    关于View绘制系列的文章已经完成了四篇了,前面四篇文章主要带小伙伴们熟悉一下View的体系的整体框架.View的测量以及布局等过程,从本篇博客开始,我们就来看看View的绘制过程.View的绘制涉及 ...

  3. View绘制详解(四),谝一谝layout过程

    上篇博客我们介绍了View的测量过程,这只是View显示过程的第一步,第二步就是layout了,这个我们一般译作布局,其实就是在View测量完成之后根据View的大小,将其一个一个摆放在ViewGro ...

  4. View绘制详解(三),扒一扒View的测量过程

    所有东西都是难者不会,会者不难,Android开发中有很多小伙伴觉得自定义View和事件分发或者Binder机制等是难点,其实不然,如果静下心来花点时间把这几个技术点都研究一遍,你会发现其实这些东西都 ...

  5. View绘制详解(二),从setContentView谈起

    掐指一算,本来今天该介绍View的测量了,可是要说View的测量,那就要从setContentView谈起了,setContentView本身涉及到的东西也是挺多的,所以今天我们就先来看看这个setC ...

  6. View绘制详解,从LayoutInflater谈起

    自定义View算是Android开发中的重中之重了,很多小伙伴可能或多或少都玩过自定义View,对View的绘制流程也有一定的理解.那么现在我想通过几篇博客来详细介绍View的绘制流程,以便使我们更加 ...

  7. python matplotlib.pyplot 散点图详解(1)

    python matplotlib.pyplot散点图详解(1) 一.创建散点图 可以用scatter函数创建散点图 并使用show函数显示散点图 代码如下: import matplotlib.py ...

  8. python matplotlib.pyplot 散点图详解(2)

    python matplotlib.pyplot 散点图详解(2) 上期资料 一.散点图叠加 可以用多个scatter函数叠加散点图 代码如下: import matplotlib.pyplot as ...

  9. Matplotlib直方图绘制技巧

    情境引入 我们在做机器学习相关项目时,常常会分析数据集的样本分布,而这就需要用到直方图的绘制. 在Python中可以很容易地调用matplotlib.pyplot的hist函数来绘制直方图.不过,该函 ...

随机推荐

  1. HDFS-JavaAPI

    一.pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...

  2. python 第一类对象 闭包 迭代器

    ########################总结########################### 1. 函数名 -> 第一类对象 函数名就是变量名. 函数可以赋值 函数可以作为集合类的 ...

  3. layui(三)——laypage组件常见用法总结

    laypage 的使用非常简单,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染.核心方法: laypage.render(options)  来设置基础参数. 一.laypag ...

  4. SVN快速入门笔记【转】

    1. SVN版本控制软件目的 协作开发 远程开发 版本回退 2. 什么是SVN subVersion 支持平台操作 支持版本回退 3. 获取SVN软件 属于C/S结构软件(客户端与服务端) serve ...

  5. Openresty 学习笔记(二)Nginx Lua 正则表达式相关API

    ngx.re.match 语法: captures, err = ngx.re.match(subject, regex, options?, ctx?, res_table?) 环境: init_w ...

  6. 051、在overlay中运行容器(2019-03-18 周一)

    参考https://www.cnblogs.com/CloudMan6/p/7294501.html   我们前面创建了overlay网络 ov_net1 ,今天我们运行一个busybox容器并连接到 ...

  7. yum方式安装mysql

    安装步骤 1. 安装yum仓库 到https://dev.mysql.com/downloads/repo/yum/ 下载对应操作系统版本的yum仓库,然后进行安装:sudo rpm -Uvh pla ...

  8. Baidu 人脸识别FireFly 与PC连接调试

    1.USB线插到离屏幕较远的双层USB口上方.2.安装驱动,OK.,然后就可以直接拷贝安装包或者连接调试了. 其它几个口都不行.

  9. ASP.NET Web API 2 之参数验证

    Ø  前言 目前 C# 比较流行使用 ASP.NET Web API 来承载 Web 接口,提供与客户端之间的数据交互,现在的版本已经是 2.0 了.既然是接口就少不了对输入参数的验证,所以本文主要探 ...

  10. PHP+MySql+Bootstrap实现用户界面数据的删除、修改与批量选择删除——实例操作

    第一步:在数据库中建立要操作的信息表 如下图: 第二步:实现对该信息表中数据的删除功能 代码如下:main(主页面) <!DOCTYPE html><html>    < ...