【数据分析之道-Matplotlib(七)】Matplotlib直方图

在这里插入图片描述

文章目录

  • 专栏导读
  • 1、hist()基本语法
  • 2、使用 hist() 函数绘制多个数据组的直方图
  • 3、修改直方图的颜色及边框颜色
  • 4、六一儿童节为主题,使用直方图进行可视化

专栏导读

✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。

本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 其他专栏:《数据分析案例》 ,《机器学习案例》

😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍

📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪

1、hist()基本语法

hist()函数是Matplotlib库中用于绘制直方图的函数。它的语法如下:

plt.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, 
         bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None,
         log=False, color=None, label=None, stacked=False, normed=None, **kwargs)

下面是一些常用参数的解释:

  • x: 必需参数,用于绘制直方图的数据。
  • bins: 可选参数,指定直方图的柱子数量或柱子的边界值。默认值为10。
  • range: 可选参数,指定直方图的取值范围。默认值为数据的最小值和最大值。
  • density: 可选参数,指定是否将直方图的高度归一化为概率密度。默认值为False。
  • histtype: 可选参数,指定直方图的类型。可以是’bar’(默认值),‘barstacked’,‘step’,'stepfilled’等。
  • color: 可选参数,指定直方图的颜色。
  • label: 可选参数,指定直方图的标签,用于图例显示。
  • align: 可选参数,指定柱子的对齐方式。可以是’left’,‘mid’(默认值),‘right’。
  • orientation: 可选参数,指定直方图的方向。可以是’vertical’(默认值),‘horizontal’。
  • rwidth: 可选参数,指定柱子的宽度,取值范围为[0, 1]。默认值为None,表示自适应宽度。
  • 其他参数:还可以传递其他关键字参数,用于进一步自定义直方图的样式和属性。

实例演示hist()制作简单的直方图:

import matplotlib.pyplot as plt
import numpy as np
# 准备数据
data = np.random.randn(1000)

# 绘制直方图
plt.hist(data)

# 添加标签和标题
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram')

# 显示图表
plt.show()

在这里插入图片描述

2、使用 hist() 函数绘制多个数据组的直方图

当使用hist()函数绘制多个数据组的直方图时,可以在同一图表中显示这些直方图,并进行比较。
下面是一个示例,演示如何使用hist()函数绘制多个数据组的直方图,并进行比较:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
data1 = np.random.normal(0, 1, 1000)
data2 = np.random.normal(2, 1, 800)
data3 = np.random.normal(-2, 1, 1200)

# 绘制直方图
plt.hist(data1, bins=30, alpha=0.5, label='Data 1')
plt.hist(data2, bins=30, alpha=0.5, label='Data 2')
plt.hist(data3, bins=30, alpha=0.5, label='Data 3')

# 添加标签和标题
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram Comparison')

# 添加图例
plt.legend()

# 显示图表
plt.show()

在这里插入图片描述

在这个例子中,我们生成了三组随机数据data1、data2和data3。然后,我们分别使用plt.hist()函数绘制了这三组数据的直方图,并使用bins参数设置了直方图的柱子数量,alpha参数设置了柱子的透明度,label参数设置了每组数据的标签。
接下来,我们添加了x轴和y轴的标签,以及一个标题。然后,使用plt.legend()函数添加了图例,以便区分不同的数据组。
最后,我们调用plt.show()函数显示了绘制好的直方图。

3、修改直方图的颜色及边框颜色

要修改直方图的颜色和边框颜色,可以使用color参数和edgecolor参数来设置。
下面是一个示例,演示如何修改直方图的颜色和边框颜色:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(0)
data = np.random.randn(1000)

# 绘制直方图
plt.hist(data, bins=30, color='skyblue', edgecolor='black')

# 添加标签和标题
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram')

# 显示图表
plt.show()

在这里插入图片描述

在这个例子中,我们生成了随机数据data。然后,我们使用plt.hist()函数绘制了直方图,并通过color参数将柱子的颜色设置为天蓝色,通过edgecolor参数将柱子的边框颜色设置为黑色。
你可以根据需要修改color参数和edgecolor参数的值,选择适合的颜色来自定义直方图的外观。
运行代码后,你将看到绘制好的直方图,柱子的颜色为天蓝色,边框颜色为黑色。

4、六一儿童节为主题,使用直方图进行可视化

当以儿童节为主题进行可视化时,可以使用直方图展示与儿童节相关的数据。以下是一个示例,演示如何使用直方图可视化儿童节礼物的数量分布:

import matplotlib.pyplot as plt

# 儿童节礼物的数量数据
gifts = ['Dolls', 'Cars', 'Balloons', 'Candies', 'Books']
quantity = [45, 60, 30, 80, 50]

# 绘制直方图
plt.bar(gifts, quantity, color='skyblue')

# 添加标签和标题
plt.xlabel('Gifts')
plt.ylabel('Quantity')
plt.title('Children\'s Day Gifts Distribution')

# 显示图表
plt.show()

在这里插入图片描述

在这个示例中,我们定义了儿童节礼物的种类(gifts)和每种礼物的数量(quantity)。然后,我们使用plt.bar()函数绘制了儿童节礼物的直方图,将礼物作为x轴,数量作为y轴,并使用天蓝色作为柱子的颜色。
最后,我们添加了标签和标题,以便更好地说明图表的含义。


📢文章下方有交流学习区!一起学习进步!💪💪💪
📢首发CSDN博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

web入门——springboot、HTTP协议

这里写目录标题 springboot入门 http协议概念以及特点请求协议格式请求头的一些含义解释 响应协议格式具体的状态码以及响应头的一些含义解释 协议解析 springboot 入门 http协议 概念以及特点 请求协议 格式 包括请求行、请求头、请求体三部分(请求体是pos请求方…

想要让视频素材格式快速调整转换的方法分享

有时候有些视频播放软件不支持播放某些格式的视频文件?那要怎么解决呢?换一个播放软件?不妨试试批量转换视频格式,简单的几步操作就能快速解决烦恼,跟着小编一起来看看具体的操作环节吧。 首先先进入“固乔科技”的官网…

MapReduce分布式计算(二)

MapReduce工作流程 原始数据File 1T数据被切分成块存放在HDFS上,每一个块有128M大小 数据块Block hdfs上数据存储的一个单元,同一个文件中块的大小都是相同的 因为数据存储到HDFS上不可变,所以有可能块的数量和集群的计算能力不匹配 我们需要一个动态…

MySQL中的DDL操作,MySQL中DML操作,MySQL查询数据,SQL函数,MySQL中的索引,MySQL事务,MySQL的用户管理,MySQL分页查询

目录 MySQL中的DDL操作 一、创建表与删除表 1,创建表 2,查看已创建的表。 3,删除表 二、修改表 1,修改表名 2,修改列名 3,修改列类型 4,添加新列 5,删除指定列 三、MySQ…

ML算法——Support Vector Machine随笔【机器学习】

文章目录 4、Support Vector Machine (SVM)4.1、理论部分4.1.1、更优的决策边界4.1.2、解决低维不可分问题 4.2、sklearn 实现4.2.1、SVM 分类(SVC)4.2.2、SVM回归(SVR)4.2.3、网格调参 4.3、案例 4、Support Vector Machine (SVM…

UE5 Stride Warping Orientation Warping功能学习

在UE5的 Lyra Demo中,运用到了各类动画Warping(动画扭曲)技术,通过各类Warping节点在动画蓝图中的合理组织,可以有效的解决运动滑步问题,并为动画增添更多细节。 本文主要基于Animation Warping插件讲一下…

python 加速(1)

文章目录 简单步骤像Python一样做torch 的一切安装Cmake安装 Torch (GPU)CMakeLists.txt试用小样设置 CLion 环境 Cuda配置VS C 环境建上手的文件step1: interpolation.cppstep2: interpolation_kernel.custep3: include/ utils.hstep4: setup.pystep5: …

【系统架构】第五章-软件工程基础知识(软件测试、净室软件工程、基于构件的软件工程、 软件项目管理)

软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版) 软件测试 一、测试方法 以测试过程中程序执行状态为依据可分为静态测试(ST)和动态测试(DT) 以具体实现算法细节和系统内部结构的相关情况为根据…

【强化学习】常用算法之一 “A3C”

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

VUE3-组件问题

VUE3-组件问题 文章目录 VUE3-组件问题一、S-Table1.问题描述2.问题展示3.问题解决 二、form表单无法显示1.问题描述2.问题展示3.问题解决 三、input 框为不可编辑状态四、Echarts组件未渲染五、图片正常引用,但是部署服务器部署不上去,看不到图片1.图片…

element封装 table表格 ,插槽的使用,修改el-table-column的值

举例 vue2这种不封装的 直接写的很罗嗦麻烦 下面圈起来的可以封装一个对象 进行循环 弊端: 循环后 无法进行获取更改某一列的值 比如data日期我需要转换年月日 不循环我直接在这个el-table-column的这一列进行写&#xff08;如下&#xff09; <el-table-column label&quo…

Vue3解决:[Vue warn]: Failed to resolve component: el-table(或el-button) 的三种解决方案

1、问题描述&#xff1a; 其一、报错为&#xff1a; [Vue warn]: Failed to resolve component: el-table If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. at <App> 或者&#xff1a; …

实验 4:排序与查找

东莞理工的学生可以借鉴&#xff0c;请勿抄袭 1.实验目的 通过实验达到&#xff1a; 理解典型排序的基本思想&#xff0c;掌握典型排序方法的思想和相应实现算法&#xff1b; 理解和掌握用二叉排序树(BST)实现动态查找的基本思想和相应的实现 算法。 理解和掌握哈希(HASH)存…

【Django】图形验证码显示及验证

图形验证码显示及验证 开发项目时&#xff0c;在登陆或者注册功能中为防止脚本恶意破坏系统&#xff0c;故而添加图形验证码。 文章目录 图形验证码显示及验证1 安装配置2 验证码显示及正确性验证3 效果显示 1 安装配置 安装第三方库 pip install django-simple-captcha配置s…

《计算机系统与网络安全》 第六章 密钥管理

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

mysql8.0新特性详解

一、my.ini或my.cnf的全局参数 一个连接最少占用内存是256K&#xff0c;最大是64M&#xff0c;如果一个连接的请求数据超过64MB&#xff08;比如排序&#xff09;&#xff0c;就会申请临时空间&#xff0c;放到硬盘上。 #最大连接数 max_connections3000 #最大用户连接数 max_…

RS485转Profinet通讯

RS485转Profinet通讯 概述系统组成流量积算仪网关 软件总结 概述 一个支持RS485的流量积算仪的数据要被Profinet的PLC读取。制作一个网关&#xff0c;实现RS485到Profinet的转换。 系统组成 流量积算仪 支持RS485通讯&#xff0c;通讯协议是modbus RTU。采用功能码3可以读取…

ChatGPT从入门到精通,深入认识Prompt

ChatGPT从入门到精通&#xff0c;一站式掌握办公自动化/爬虫/数据分析和可视化图表制作 全面AI时代就在转角 道路已经铺好了 “局外人”or“先行者” 就在此刻 等你决定 让ChatGPT帮你高效实现职场办公&#xff01;行动起来吧。欢迎关注专栏 1、ChatGPT从入门到精通&#xff0…

【SQL Server】数据库开发指南(八)高级数据处理技术 MS-SQL 事务、异常和游标的深入研究

本系列博文还在更新中&#xff0c;收录在专栏&#xff1a;#MS-SQL Server 专栏中。 本系列文章列表如下&#xff1a; 【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作 【SQL Server】数据库开发指南&#xff08;一&#xff09;数据库设计的核心概念…

【Unity 实用插件篇】 | UI适配神器 Device Simulator 移动设备模拟器 的详细使用方法

前言 【Unity 实用插件篇】 UI适配神器 Device Simulator 移动设备模拟器 的详细使用方法一、安装Device Simulator包二、使用Device Simulator模拟各种设备三、自定义设备类型信息 总结 &#x1f3ac; 博客主页&#xff1a;https://xiaoy.blog.csdn.net &#x1f3a5; 本文由…