数据分析基础之《matplotlib(5)—直方图》

一、直方图介绍

1、什么是直方图
直方图,形状类似柱状图却有着与柱状图完全不同的含义。直方图牵涉统计学的概念,首先要对数据进行分组,然后统计每个分组内数据元的数量。在坐标系中,横轴标出每个组的端点,纵轴表示频数,每个矩形的高,代表对应的频数,称这样的统计图为频数分布直方图

2、示例
某校初三(1)班36位同学的身高的频数分布直方图如下图所示:

(1)身高在哪一组的同学最多?
(2)身高在160.5cm以上的同学有多少人?

相关概念
组数:在统计数据时,我们把数据按照不同的范围分成几个组,分成的组的个数称为组数
组距:每一组两个端点的差

已知:最高175.5,最矮150.5,组距5,求组数
(175.5 - 150.5) / 5 = 5

二、直方图与柱状图的对比

1、柱状图是以矩形的长度表示每一组的频度或数量,其宽度(表示类别)则是固定的,利于较小的数据集分析

2、直方图描述的是一组数据的频次分布,是以矩形的长度表示每一组的频度或数量,宽度则表示各组的组距,因此其高度与宽度均有意义,利于展示大量数据集的统计结果
例如把年龄分成“0-5,5-10,...,80-85”17个组,统计一下中国人口年龄的分布情况。直方图有助于我们知道数据的分布情况,诸如众数、中位数的大致位置、数据是否存在缺口或者异常值

3、直方图展示数据的分布,柱状图比较数据的大小
这是直方图与柱状图最根本的区别。举个例子,有10个苹果,每个苹果重量不同。如果使用直方图,就展示了重量在0-100g的苹果有多少个,10-20g的苹果有多少个;如果使用柱状图,则展示每个苹果的具体重量
所以直方图展示的是一组数据中,在你划分的区间里,这些数据的分布情况,但是我们不知道在一个区间里,单个数据的具体大小

4、直方图x轴为定量数据,柱状图x轴为分类数据

5、直方图柱子无间隔,柱状图柱子有间隔

6、直方图柱子宽度可不一,柱状图柱子宽度需一致

7、直方图要素

三、直方图绘制

1、需求:电影时长分布状况
现有250部电影的时长,希望统计出这些电影时长的分布状态(比如时长为100分钟到120分钟电影的数量,出现的频率)等信息,你应该如何呈现这些数据

2、matplotlib.pyplot.hist(x, bins=None, normed=None, **kwargs)
说明:
x:这一组数据
bins:组数

绘制
设置组距
设置组数(通常对于数据较少的情况,分为5~12组,数据较多,更换图形显示方式)
  通常设置组数会有相应公式:组数 = 级差 / 组距 (max - min) / distance

3、代码

# 直方图绘制
# 需求:电影时长分布状况# 1、准备数据
time = [131,  98, 125, 131, 124, 139, 131, 117, 128, 108, 135, 138, 131, 102, 107, 114, 119, 128, 121, 142, 127, 130, 124, 101, 110, 116, 117, 110, 128, 128, 115,  99, 136, 126, 134,  95, 138, 117, 111,78, 132, 124, 113, 150, 110, 117,  86,  95, 144, 105, 126, 130,126, 130, 126, 116, 123, 106, 112, 138, 123,  86, 101,  99, 136,123, 117, 119, 105, 137, 123, 128, 125, 104, 109, 134, 125, 127,105, 120, 107, 129, 116, 108, 132, 103, 136, 118, 102, 120, 114,105, 115, 132, 145, 119, 121, 112, 139, 125, 138, 109, 132, 134,156, 106, 117, 127, 144, 139, 139, 119, 140,  83, 110, 102,123,107, 143, 115, 136, 118, 139, 123, 112, 118, 125, 109, 119, 133,112, 114, 122, 109, 106, 123, 116, 131, 127, 115, 118, 112, 135,115, 146, 137, 116, 103, 144,  83, 123, 111, 110, 111, 100, 154,136, 100, 118, 119, 133, 134, 106, 129, 126, 110, 111, 109, 141,120, 117, 106, 149, 122, 122, 110, 118, 127, 121, 114, 125, 126,114, 140, 103, 130, 141, 117, 106, 114, 121, 114, 133, 137,  92,121, 112, 146,  97, 137, 105,  98, 117, 112,  81,  97, 139, 113,134, 106, 144, 110, 137, 137, 111, 104, 117, 100, 111, 101, 110,105, 129, 137, 112, 120, 113, 133, 112,  83,  94, 146, 133, 101,131, 116, 111,  84, 137, 115, 122, 106, 144, 109, 123, 116, 111,111, 133, 150]# 2、创建画布
plt.figure(figsize=(20,8), dpi=100)# 3、绘制直方图
# 组距
distance = 2
# 组数
group_num = int((max(time) - min(time)) / distance)
plt.hist(time, group_num)# 修改x轴刻度
plt.xticks(range(min(time), max(time) + 2, distance))# 添加网格
plt.grid(linestyle="--", alpha=0.5)# 添加x,y轴描述信息
plt.xlabel("电影时长大小")
plt.ylabel("电影的数据量")# 4、显示图像
plt.show()

3、直方图注意点

(1)注意组距
组距会影响直方图呈现出来的数据分布,因此在绘制直方图的时候需要多次尝试改变组距

(2)注意y轴所代表的变量
y轴上的变量可以是频次(数据出现了多少次)、频率(频次/总次数)、频率/组数,不同的变量会让直方图描述的数据分布意义不同

四、直方图的应用场景

1、用于表示分布情况

2、通过直方图还可以观察和估计哪些数据比较集中,异常或者孤立的数据分布在何处
例如:用户年龄分布,商品价格分布
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人机巡山护林,林业无人机智能助力绿色守护

随着全球环保意识的不断提高,无人机巡山护林已经成为解决森林巡检难题的一种独特而高效的方式。在我国,各地正积极探索无人机在森林防火、病虫害监测以及生态调查等领域的创新应用。随着无人机技术的不断演进,其在推动森林保护和可持续发展方…

【Docker】进阶之路:(九)Docker网络

【Docker】从零开始:19.Docker网络 Docker网络模式简介bridge网络模式host网络模式none网络模式container网络模式user-defined网络模式1.创建自定义的bridge网络2.使用自定义网络 高级网络配置docker network命令 为什么要了解容器的网络模式? 首先,容…

工业级路由器在风力发电场的远程监控技术

工业级路由器在风力发电场的远程监控技术方面具有重要的应用意义。风力发电场通常由分布在广阔地区的风力发电机组组成,需要进行实时监测、数据采集和远程管理。工业级路由器作为网络通信设备,能够提供稳定可靠的网络连接和多种远程管理功能,…

深入探讨Go语言协程调度:GRM模型解析与优化策略

一、线程调度 1、早期单线程操作系统 一切的软件都是跑在操作系统上,真正用来干活(计算)的是 CPU早期的操作系统每个程序就是一个进程,直到一个程序运行完,才能进行下一个进程,就是“单进程时代”一切的程…

EXP-00056: 遇到 ORACLE 错误 12154 ORA-12154: TNS: 无法解析指定的连接标识符

exp oas/oasoas filed:\daochu.dmp owner(s) 导出特定用户 //exp 用户名/密码数据库 filed:\daochu.dmp owner(用户名) 1.重启oracle监听 cmd 中输入 services.msc 找到服务:OracleOraDb10g_home1TNSListener 与 OracleServiceORCL。 把两个服务启动. 若未解决…

Vue 3 + Tailwind CSS:打造现代化项目的完美组合

Vue 3 Tailwind CSS:打造现代化项目的完美组合 本篇教程将向你介绍如何将 Tailwind CSS 与 Vue 3 项目搭配使用,为你的项目提供现代化的 UI 呈现和开发体验。通过本文的逐步演示和示例代码,你将很快掌握在 Vue 3 中集成和使用 Tailwind CSS…

SCI一区级 | Matlab实现GWO-CNN-BiLSTM-selfAttention多变量多步时间序列预测

SCI一区级 | Matlab实现GWO-CNN-BiLSTM-selfAttention多变量多步时间序列预测 目录 SCI一区级 | Matlab实现GWO-CNN-BiLSTM-selfAttention多变量多步时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现GWO-CNN-BiLSTM-selfAttention灰狼算法优化卷…

IntelliJ idea卡顿解决,我遇到的比较管用的方案

Setttings> Build, Execution,Deployment>Debugger> Data Views> Java 取消 Enable "toString()" object view; Speed up debugging in IntelliJ Yesterday, I observed painfully slow debugging in IntelliJ. Every step over or step in took almost…

2023年12月8日:UI登陆界面

作业 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMovie> #include <QPushButton> #include <QDebug>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpub…

GO语言开始

GO语言开始 下载windows版本安装后查看 是否安装成功下载GO的集成开发工具第一个GO程序 Go官网地址&#xff1a;https://golang.org/ Go 官方镜像站&#xff08;推荐&#xff09;:https://golang.google.cn/dl/ 下载windows版本 安装后查看 是否安装成功 下载GO的集成开发工具…

鸿蒙原生应用开发【分布式数据对象】

01、什么是分布式数据对象 在可信组网环境下&#xff0c;多个相互组网认证的设备将各自创建的对象加入同一个 sessionId&#xff0c;使得加入的多个数据对象之间可以同步数据&#xff0c;也就是说&#xff0c;当某一数据对象属性发生变更时&#xff0c;其他数据对象会检测到这…

OpenCL学习笔记(三)手动编译开发库(win10+mingw64)

前言 有的小伙伴仍然在使用mingw编译器&#xff0c;这时只能重新编译opencl的sdk库。本文档简单记录下win10下&#xff0c;使用mingw11.20编译的过程&#xff0c;有需要的小伙伴可以参考下 一、安装所需软件 1.安装git&#xff0c;教程比较多&#xff0c;不再重复 2.安装cm…

chrome安装jsonview

写在前面 通过jsonview可以实现&#xff0c;当http响应时application/json时直接在浏览器格式化显示&#xff0c;增加可读性。本文看下如何安装该插件到chrome中。 1&#xff1a;安装 首先在这里 下载插件包&#xff0c;然后解压备用。接着在chrome按照如下步骤操作&#xf…

千锋 Vue 详细笔记整理

视频笔记是根据B站 千锋 涛哥 - SpringBootvue前后端分离项目《锋迷商城》实战课-完结版 进行整理的 笔记可上 gitee仓库 自取 千锋 Vue 笔记整理 一、vue 的简介1.1 使用 JQuery 的复杂性问题1.2 VUE 简介1.2.1 前端框架1.2.2 MVVM 二、 vue 入门使用2.1 vue 的引入2.2 入门案…

泽攸科技二维材料转移台的应用场景及优势

随着二维材料的广泛研究和各种潜在应用的开发&#xff0c;对于二维材料样品的精密操控与转移的需求日益增加。特别是一些新型二维材料的制备和器件集成制备中&#xff0c;需要在显微镜下对样品进行观察与定位&#xff0c;并能够在微米甚至纳米量级上精确移動和转移样品。 传统…

集简云 x 零售企业丨快速集成有赞商城和微盛企微管家,实现私域运营自动化

客户介绍 某公司是一家知名的饮料厂商&#xff0c;自1998年成立以来&#xff0c;一直致力于研发和生产各种热门饮品&#xff0c;如果汁、碳酸饮料、矿泉水等。因其独特的口感和健康的品质深受消费者的喜爱。企业拥有多个知名品牌&#xff0c;享有极高的品牌知名度和市场份额。该…

BGP综合

1、使用PreVal策略&#xff0c;确保R4通过R2到达192.168.10.0/24。 2、使用AS_Path策略&#xff0c;确保R4迪过R3到达192.168.11.0/24。 3、配置MED策略&#xff0c;确保R4通过R3到达192.168.12.0/24。 4、使用Local Preference策略&#xff0c;确保R1通过R2到达192.168.1.0…

Mac电脑系统管理:iStat Menus中文 for Mac

iStat Menus是一款强大而灵活的系统监控工具&#xff0c;可以帮助Mac用户实时监控和管理自己的电脑。它提供了丰富的系统状态和性能指标&#xff0c;可自定义的菜单栏图标以及历史数据记录功能&#xff0c;让用户能够全面了解和掌握电脑的运行情况。 实时系统监控&#xff1a;i…

12.8 作业 C++

使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0c;密码是否为…

基于OpenCV的人脸识别系统案例

基于OpenCV的人脸识别系统案例 人脸识别简介代码实现案例应用情况 下面将介绍如何使用Python和OpenCV库构建一个简单但强大的人脸识别系统。人脸识别是计算机视觉领域的一个重要应用&#xff0c;具有广泛的实际用途&#xff0c;从安全门禁到娱乐应用。 人脸识别简介 人脸识别是…