Matplotlib直方图

直方图(Histogram),又称质量分布图,它是一种条形图的一种,由一系列高度不等的纵向线段来表示数据分布的情况。 直方图的横轴表示数据类型,纵轴表示分布情况。

首先,我们需要了解柱状图和直方图的区别。直方图用于概率分布,它显示了一组数值序列在给定的数值范围内出现的概率;而柱状图则用于展示各个类别的频数。

例如,我们对某工厂的员工年龄做直方图统计,首先我们要统计出每一位员工的年龄,然后设定一个 20 至 65 的数值范围,并将该数值范围细分为 4 个区间段 (20,35),(35,45),(45,55),(55,65) , 最后通过直方图的形式,展示该工厂员工在相应年龄区间的分布情况。

如果想要构建直方图,必须遵循以下步骤:

将整个值范围划分为一系列区间。

区间值(bin)的取值,不可遗漏数据;

计算每个区间中有多少个值。

通常将 bin 指定为连续且不重叠的数值区间,而 bin 值指区间开始和结束的数值。

您可以使用下面的函数来绘制直方图:

matplotlib.pyplot.hist()

该函数的参数说明如下:

x 必填参数,数组或者数组序列。
bins 可选参数,整数或者序列,bins 表示每一个间隔的边缘(起点和终点)默认会生成10个间隔。
range 指定全局间隔的下限与上限值 (min,max),元组类型,默认值为 None。
density 如果为 True,返回概率密度直方图;默认为 False,返回相应区间元素的个数的直方图。
histtype 要绘制的直方图类型,默认值为“bar”,可选值有 barstacked(堆叠条形图)、step(未填充的阶梯图)、stepfilled(已填充的阶梯图)。

以下示例绘制了班级学生得分情况的直方图。其中定义了四个区间(bins)分别是:0-25、26-50、51-75 和 76-100。直方图显示了相应范围的学生人数。

from matplotlib import pyplot as plt
import numpy as np
#创建图形对象和轴域对象
fig,ax = plt.subplots(1,1)
a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
#绘制直方图
ax.hist(a, bins = [0,25,50,75,100])
#设置坐标轴
ax.set_title("histogram of result")
ax.set_xticks([0,25,50,75,100])
ax.set_xlabel('marks')
ax.set_ylabel('no.of students')
plt.show()

上述代码执行后,输出结果如下:

图1:直方图绘制结果

Matplotlib直方图相关推荐

  1. OpenCV-Python实战(番外篇)——OpenCV、NumPy和Matplotlib直方图比较

    OpenCV-Python实战(番外篇)--OpenCV.NumPy和Matplotlib直方图比较 前言 OpenCV.NumPy和Matplotlib灰度直方图比较 OpenCV.NumPy和Ma ...

  2. matplotlib 直方图_掌握了Matplotlib这两个方法,轻松绘制出漂亮的直方图!

    一个直方图可以很好的把数据展示出来,Matplotlib库中plt.hist()函数用来展示直方图.这个函数的使用非常的简单,一行代码就可以创建一个直方图. 简单的直方图 import numpy a ...

  3. matplotlib(直方图,条形图,饼图,散点图)基础知识

    import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt from ...

  4. python箭头符号怎么打_python – 用箭头标记matplotlib直方图bin

    您可以使用注释添加箭头: import pandas as pd import matplotlib.pyplot as plt #import seaborn as sns import numpy ...

  5. Matplotlib——直方图_hist()函数_histogram()函数_二维数据

    一个简单的直方图可以直观地展示数据的分布,包括数值分布的区间.密度和形状. 在实际的工作过程中,我们可能需要对数据进行数学建模和统计分析,这些数据处理技术往往基于数据符合的某些假设,而直方图是检查数据 ...

  6. matplotlib 直方图添加数据标签

    matplotlib绘制直方图,一直没搜到怎么添加数据标签,很多以此为名的贴子实际放的都是条形图的,所以写了个循环放这里,方便有需要的同学取,自己以后也可以直接贴了. population_ages ...

  7. python画图matplotlib直方图条怎么变宽_python – matplotlib和numpy – 直方图条颜色和规范化...

    所以我有两个问题: 1-我有一个2D直方图w / 1D直方图沿着x& y轴.这些直方图总计了它们各自的x和y值,而主直方图总计了对数x-y区间的值.代码如下.我用pcolormesh来生成2D ...

  8. matplotlib直方图_你真的了解matplotlib吗?---直方图(上)

    首先按照惯例先来认识下直方图是谁,以下是从维基百科搬运过来的直方图的定义: 在统计学中,直方图(英语:Histogram)是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本 ...

  9. python从低到高排序_使用python对matplotlib直方图中的xaxis值从最低值到最高值排序...

    我认为既然您已经在使用matplotlib,那么在pandas中进行数据争用也更有意义.在In [101]: JSON = '''[{"first":"A",& ...

  10. matplotlib 直方图_Matplotlib直方图和散点图

    一个数据分析小白的真实体验 首先先科普一下条形图和直方图的区别:直方图在我们做频数.频率的绘制时会用到,是以长方形的面积作为表示频数/频率,x轴的标签是连续的:而条形图是以长方形的高度进行表示频数/频 ...

最新文章

  1. Windows10如何设置系统保护色
  2. 服务器与ssl证书有关吗,选择网站SSL证书和服务器位置有没有关系和影响
  3. Android移动开发之【Android实战项目】Textview各项属性(全)
  4. JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十五)整合升级+引入jQuery
  5. redis学习(五) redis实现购物车
  6. Java线程之多线程与多进程(1)——以操作系统的角度述说线程与进程
  7. 网页视频直播、微信视频直播技术解决方案:EasyNVR与EasyDSS流媒体服务器组合之区分不同场景下的直播接入需求...
  8. 用Delphi编写ASP的ActiveX
  9. 最近幻影的两个ARP欺骗工具 挺不错的
  10. 百度地图 InfoWindow上添加点击事件
  11. linux支持ipv6
  12. 如何在AD19的PCB库编辑界面修改尺寸单位
  13. Android 12 行为变更,对应用产生的影响
  14. Android动态底部导航
  15. 使用PowerShell下载必应图片
  16. 7zip@命令行压缩@解压缩7z/zip/等各种压缩格式包@查看压缩包内容
  17. 数据嗨客 | 第1期
  18. 真正的成功(约翰·伍登)
  19. iPhone开发初试锋芒 一个简单的iPhone播放器 --紫枫凝潇烟
  20. 首届全球RTB(实时竞价)广告DSP算法大赛

热门文章

  1. python课程改进建议_关于Python课程的思考和意见
  2. 北京喜提初雪,Edg喜夺冠军
  3. 微信小程序获取小程序码
  4. 51单片机实现出租车计价器
  5. osm地图数据 mysql_一种OSM地图数据中路网交叉口节点自动合并方法与流程
  6. 科略教育—太极拳理与企业家管理理念
  7. 【转载】Ununtu源
  8. 树形DP--bzoj4987: Tree
  9. 视频带宽(码流_分辨率_帧率)
  10. php条件 效率高,PHP高效率写法