Python利用 matplotlib 绘制直方图

目录
  • 1. 直方图概述
    • 1.1什么是直方图?
    • 1.2直方图使用场景
    • 1.3直方图绘制步骤
    • 1.4案例展示
  • 2. 直方图属性
    • 2.1设置颜色
    • 2.2设置长条形数目
    • 2.3设置透明度
    • 2.4设置样式
  • 3. 添加折线直方图
  • 4. 堆叠直方图
  • 5. 不等距直方图
  • 6. 多类直方图

复习回顾:

经过前面对 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 模块内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python用 matplotlib 绘制柱状图

    目录 1. 柱状图概述 1.1什么是柱状图 1.2柱状图使用场景 1.3柱状图绘制步骤 1.3案例展示 2. 柱状图属性 2.1柱状体颜色填充 2.2状描边设置 2.3状体边框宽度 2.4刻度标签 3. 堆叠柱状图 4. 并列柱状图 5. 水平柱状图 6. 添加折线柱状图 7. 正负柱状图 复习回顾: Python 为数据展示提供了大量优秀的功能包,其中 matplotlib 模块可以方便绘制制作折线图.柱状图.散点图等高质量的数据包. 关于 matplotlib 模块,我们前期已经对matpl

  • Python基于matplotlib绘制栈式直方图的方法示例

    本文实例讲述了Python基于matplotlib绘制栈式直方图的方法.分享给大家供大家参考,具体如下: 平时我们只对一组数据做直方图统计,这样我们只要直接画直方图就可以了. 但有时候我们同时画多组数据的直方图(比如说我大一到大四跑大学城内环的用时的分布),大一到大四用不同颜色的直方图,显示在一张图上,这样会很直观. #!/usr/bin/env python # -*- coding: utf-8 -*- #http://www.jb51.net/article/100363.htm # nu

  • python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】

    本文实例讲述了python matplotlib模块基本图形绘制方法.分享给大家供大家参考,具体如下: matplotlib模块是python中一个强大的绘图模块 安装 pip  install matplotlib 首先我们来画一个简单的图来感受它的神奇 import numpy as np import matplotlib.pyplot as plt import matplotlib zhfont1=matplotlib.font_manager.FontProperties(fname

  • Python matplotlib底层原理解析

    目录 1. matplotlib 框架组成 2. 脚本层(scripting) 3. 美工层(artist) 4. 后端层(backend) 复习回顾: 前期,我们已经学习了matplotlib模块相关的基础知识,对 matplotlib 模块折线图.饼图.柱状图进行操作. 我们都知道matplotlib 是偏向底层用于可视化数据处理的库,我们在绘制图表的时候主要步骤主要有四大步骤: 导入 matplotlib.pplot库 使用pandas/numpy模块对数据进行整分析理 调用pyplot中

  • python matplotlib库直方图绘制详解

    例题:假设你获取了250部电影的时长(列表a中),希望统计出这些电影时长的分布状态(比如时长为100分钟到120分钟电影的数量,出现的频率)等信息,你应该如何呈现这些数据? 一些概念及问题: 把数据分为多少组进行统计 组数要适当,太少会有较大的统计误差,太多规律不明显 组数:将数据分组,共分为多少组 组距:指每个小组的两个端点的距离 组数:极差 / 组距,也就是 (最大值-最小值)/ 组距 频数分布直方图与频率分布直方图,hist()方法需增加参数normed 注意:一般来说能够使用plt.hi

  • python 用matplotlib绘制折线图详情

    目录 1. 折线图概述 1.1什么是折线图? 1.2折线图使用场景 1.3绘制折线图步骤 1.4案例展示 2. 折线2D属性 2.1linestyle:折线样式 2.2color:折线颜色 2.3marker:坐标值标记 2.4fillstyle:标记填充方法 2.5linewidth(lw): 直线宽度 3. 坐标管理 3.1坐标轴名字设置 3.2坐标轴刻度设置 3.3坐标轴位置设置 3.4指定坐标值标注 4. 多条折线展示图 5. 图列管理 复习回顾: 众所周知,matplotlib 是一款

  • Python 可视化matplotlib模块基础知识

    目录 1. matplotlib 模块概述 2. matplotlib.pyplot 相关方法 3. matplotlib.pyplot 图表展示 前言: 互联网时代下,在网络中每天都会产生很多数据,通过对数据分析之后,如何更好的诠释数据背后的意义,我们需要对数据进行可视化展示. 在数据可视化中,Python 也支持第三模块 matplotlib 模块:Python使用最多的可视化库 seaborn 模块:基于matplotlib的图形可视化 pycharts 模块:用于生成Echarts 图表

  • Python Matplotlib 实现3D绘图详解

    目录 第一个三维绘图程序 3D散点图 3D等高线图 3D线框图 3D曲面图 最初开发的 Matplotlib,仅支持绘制 2d 图形,后来随着版本的不断更新, Matplotlib 在二维绘图的基础上,构建了一部分较为实用的 3D 绘图程序包,比如 mpl_toolkits.mplot3d,通过调用该程序包一些接口可以绘制 3D散点图.3D曲面图.3D线框图等 mpl_toolkits 是 Matplotlib 的绘图工具包. 第一个三维绘图程序 下面编写第一个三维绘图程序. 首先创建一个三维绘

  • Python利用 matplotlib 绘制直方图

    目录 1. 直方图概述 1.1什么是直方图? 1.2直方图使用场景 1.3直方图绘制步骤 1.4案例展示 2. 直方图属性 2.1设置颜色 2.2设置长条形数目 2.3设置透明度 2.4设置样式 3. 添加折线直方图 4. 堆叠直方图 5. 不等距直方图 6. 多类直方图 复习回顾: 经过前面对 matplotlib 模块从底层架构.基本绘制步骤等学习,我们已经学习了折线图.柱状图的绘制方法. matplotlib 模块基础:对matplotlib 模块常用方法进行学习 matplotlib 模

  • Python利用Matplotlib绘制图表详解

    目录 前言 折线图绘制与显示 绘制数学函数图像 散点图绘制 绘制柱状图 绘制直方图 饼图 前言 Matplotlib 是 Python 中类似 MATLAB 的绘图工具,如果您熟悉 MATLAB,那么可以很快的熟悉它. Matplotlib 提供了一套面向对象绘图的 API,它可以轻松地配合 Python GUI 工具包(比如 PyQt,WxPython.Tkinter)在应用程序中嵌入图形.与此同时,它也支持以脚本的形式在 Python.IPython Shell.Jupyter Notebo

  • Python利用matplotlib绘制约数个数统计图示例

    本文实例讲述了Python利用matplotlib绘制约数个数统计图.分享给大家供大家参考,具体如下: 利用Python计算1000以内自然数的约数个数,然后通过matplotlib绘制统计图. 下图为约数个数的散点图及其分布情况的条形图. Python代码: import collections import matplotlib.pyplot as plt def countDivisors(num): ans = 1 x = 2 while x * x <= num: cnt = 1 wh

  • Python利用matplotlib绘制折线图的新手教程

    前言 matplotlib是Python中的一个第三方库.主要用于开发2D图表,以渐进式.交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力. 一.安装matplotlib pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple 二.matplotlib图像简介 matplotlib的图像分为三层,容器层.辅助显示层和图像层. 1. 容器层主要由Canvas.Figure.Axes组成. Canvas位

  • Python利用matplotlib绘制散点图的新手教程

    前言 上篇文章介绍了使用matplotlib绘制折线图,参考:https://www.jb51.net/article/198991.htm,本篇文章继续介绍使用matplotlib绘制散点图. 一.matplotlib绘制散点图 # coding=utf-8 import matplotlib.pyplot as plt years = [2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019] turnovers =

  • Python利用matplotlib绘制圆环图(环形图)的实战案例

    目录 一.概念介绍 二.数据展示 三.图像绘制 四.参数解释 (1) wedgeprops是我们绘图时的参数字典. (2) startangle是第一个数据起画点. (3) plt.text (4) 可以绘制如示例图一样的colorbar,或者legend吗? 总结 一.概念介绍 圆环图(Donut Chart),又称为环形图,甜甜圈图.它从饼图变形而来,单环的作用上与饼图相似,用于展示定性数据中小类占大类的比例关系. Q: 那既然都有饼图了,为什么还要圆环图呢? ① 从空间利用效果上,饼图的t

  • 利用python库matplotlib绘制不同的图表

    目录 1.绘制简单曲线图 2.绘制单条曲线图 3.绘制多条曲线 4.绘制直方图 5.绘制散点图 1.绘制简单曲线图 思路:通过3个坐标点,绘制曲线 import matplotlib.pyplot as plt   plt.plot([1, 3, 5], [4, 8, 10]) # 横坐标:1,3,5,纵坐标:4,8,10 # 显示所画的图 plt.show()  运行效果如图: 2.绘制单条曲线图 思路:先通过linspace绘制一条直线,然后在-pi~pi之间定义100个元素 import

  • Python利用matplotlib实现饼图绘制

    目录 前言 1. 等高线图概述 什么是饼图? 饼图常用场景 绘制等饼图步骤 案例展示 2. 饼图属性 设置饼图的颜色 设置标签 设置突出部分 设置填入百分比数值 饼图旋转 设置阴影 3. 调整饼图的大小 4. 添加图例 5. 镂空饼图 总结 前言 众所周知,matplotlib.pyplot 提供绘制不同表格绘制方法,如使用plot()方法绘制折线,bar()绘制柱 在matplotlib.pyplot 中还有一种图表用于直观表示占比情况的饼图,在matplotlib官网上也列举出非常多关于饼图

  • Python利用matplotlib模块数据可视化绘制3D图

    目录 前言 1 matplotlib绘制3D图形 2 绘制3D画面图 2.1 源码 2.2 效果图 3 绘制散点图 3.1 源码 3.2 效果图 4 绘制多边形 4.1 源码 4.2 效果图 5 三个方向有等高线的3D图 5.1 源码 5.2 效果图 6 三维柱状图 6.1 源码 6.2 效果图 7 补充图 7.1 源码 7.2 效果图 总结 前言 matplotlib实际上是一套面向对象的绘图库,它所绘制的图表中的每个绘图元素,例如线条Line2D.文字Text.刻度等在内存中都有一个对象与之

随机推荐