我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python利用matplotlib绘制直方图

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python利用matplotlib绘制直方图

复习回顾:

经过前面对 matplotlib 模块从底层架构、基本绘制步骤等学习,我们已经学习了折线图、柱状图的绘制方法。

matplotlib 模块基础:对matplotlib 模块常用方法进行学习

matplotlib 模块底层原理:学习matplotlib 模块脚本层、美工层及后端层

matplotlib 绘制折线图:总结折线图相关属性和方法

matplotlib 绘制柱状图:总结柱状图相关属性和方法

在分析数据的时候,我们会根据数据的特点来选择对应图表来展示,需要表示质量这一概念,需要用直方图。

1. 直方图概述

1.1什么是直方图?

  • 直方图是一种可视化表示数据在连续间隔或者特定时间段内容的分布情况
  • 直方图又称为质量分布图,属于条行图的一种
  • 直方图x轴表示数据类型,纵轴表示分布情况,每个数据宽度可以任意变化

1.2直方图使用场景

  • 直方图用于概率分布,展示一组数据在指定范围内的出现概率
  • 可以用于展示数据分布频率情况
  • 用于众数、中位数的位置
  • 关注数据存在缺口或者异常值

1.3直方图绘制步骤

  • 导入matplotlib.pyplot模块
  • 准备数据,可以使用numpy/pandas整理数据
  • 调用pyplot.hist()绘制直方图

1.4案例展示

本次案例我们来分析公司员工的身高分布情况

案例数据准备,使用numpy随机生成200个升高数据


import numpy as np

x_value = np.random.randint(140,180,200)

绘制直方图:


import matplotlib.pyplot as plt

plt.hist(x_value,bins=10)

plt.title("data analyze")
plt.xlabel("height")
plt.ylabel("rate")

plt.show()

2. 直方图属性

2.1设置颜色

  • 设置长条形颜色关键字:facecolor
  • 设置边框的颜色关键字:edgecolor

颜色选择值:

  • 使用颜色的英语单词如红色"red",黄色"yellow"
  • 使用颜色简称:红色"r",蓝色"b"
  • 使用rgb:格式(r,g,b),取值范围:0~1

2.2设置长条形数目

  • 关键字:bins
  • 可选项,默认为10

2.3设置透明度

  • 关键字:alpha
  • 默认为0,取值范围为0~1

2.4设置样式

  • 关键字:histtype
  • 取值说

属性值 说明
'bar' 柱状形数据并排,默认值
'barstacked' 柱状形数据重叠并排
'step' 柱状形颜色不填充
'stepfilled' 填充的线性

我们对第一节直方图添加柱状形不填充,边框颜色为红色


plt.hist(x_value,bins=10,edgecolor="r",histtype="step")


边框设置为红色,透明度为0.5


plt.hist(x_value,bins=10,edgecolor="r",histtype="bar",alpha=0.5)


3. 添加折线直方图

在直方图中,我们也可以加一个折线图,辅助我们查看数据变化情况

  • 首先通过pyplot.subplot()创建Axes对象
  • 通过Axes对象调用hist()方法绘制直方图,返回折线图所需要的下x,y数据
  • 然后Axes对象调用plot()绘制折线图
  • 我们对第一节代码进行改造一下

fig,ax = plt.subplots()

n,bins_num,pat = ax.hist(x_value,bins=10,alpha=0.75)

ax.plot(bins_num[:10],n,marker = 'o',color="yellowgreen",linestyle="--")

4. 堆叠直方图

我们有时候会对吧同样数据范围情况下,对比两组不同对象群体收集的数据差异

准备两组数据:


import numpy as np

x_value = np.random.randint(140,180,200)
x2_value = np.random.randint(140,180,200)
  • 直方图属性data:以列表的形式传入两组数据
  • 设置直方图stacked:为True,允许数据覆盖

plt.hist([x_value,x2_value],bins=10,stacked=True)


5. 不等距直方图

我们上述绘制的直方图都是等距的,我们可以指定一组数据传入bins属性

  • bins 关键字:指定直方图的柱状形个数
  • 更改上述的代码后,看看效果吧

bin_num = [140,155,160,170,175,180]
plt.hist([x_value,x2_value],bins=bin_num,alpha=0.75,stacked=True)


6. 多类直方图

我们在使用直方图查查看数据的频率时,有时候会查看多种类型数据出现的频率。

这时候我们可以以列表的形式传入多种数据给hist()方法的x数据


x_value = [np.random.randint(140,180,i) for i in [100,200,300]]

plt.hist(x_value,bins=10,edgecolor="r",histtype="bar",alpha=0.5,label=["A公司","B公司","C公司"])

总结:
我们对matplotlib模块中详细学习绘制各种直方图标相关属性和方法。在需要查看数据分布频率时,我们可以使用hist()方法绘制直方图,同时也可以添加折线来辅助查看

到此这篇关于Python利用 matplotlib 绘制直方图的文章就介绍到这了,更多相关Python matplotlib 模块内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python利用matplotlib绘制直方图

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python中怎么用matplotlib绘制直方图

这篇文章主要介绍“Python中怎么用matplotlib绘制直方图”,在日常操作中,相信很多人在Python中怎么用matplotlib绘制直方图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中
2023-06-21

Python+matplotlib怎么绘制条形图和直方图

这篇文章主要介绍“Python+matplotlib怎么绘制条形图和直方图”,在日常操作中,相信很多人在Python+matplotlib怎么绘制条形图和直方图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”P
2023-06-30

基于Python+Matplotlib怎么实现直方图的绘制

今天小编给大家分享一下基于Python+Matplotlib怎么实现直方图的绘制的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧
2023-06-30

python利用matplotlib库绘制饼图的方法示例

介绍 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。 它的文档相当完备,并且 Gallery页面 中有上百
2022-06-04

Python matplotlib怎么绘制灰度和彩色直方图

一、Matplotlib.Pyplot简介1、MatplotlibMatplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。Matplotlib 可以用来绘制各种静态,动态,交互式的图表。
2023-06-22

利用matplotlib+numpy绘制多种绘图的方法实例

前言 matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。本文将以例子的形式分析matplot中支持的,分析中常用的几种图。其中包括填充图、散点图(scatter pl
2022-06-04

如何利用Python matplotlib绘制风能玫瑰图

这篇文章主要介绍如何利用Python matplotlib绘制风能玫瑰图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!概述在之前的风资源分析文章中,有提到过用widrose包来进行玫瑰图的绘制,目前的可视化绘图包有很
2023-06-14

python中Matplotlib如何绘制直线

小编给大家分享一下python中Matplotlib如何绘制直线,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!说明1、导入模块pyplot,并指定别名plt,以避
2023-06-20

python在Matplotlib中绘制垂直线的方法

小编给大家分享一下python在Matplotlib中绘制垂直线的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!创建图让我们首先用一些随机数据创建一个简单的图
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录