广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python matplotlib.pyplot.hist()绘制直方图的方法实例
  • 172
分享到

Python matplotlib.pyplot.hist()绘制直方图的方法实例

2024-04-02 19:04:59 172人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录一、matplotlib.pyplot.hist()语法二、绘制直方图①绘制简单直方图②:各个参数绘制的直方图(1)histtype参数(设置样式bar、barstacked、s

一、matplotlib.pyplot.hist()语法

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, *, data=None, **kwargs)
plt.hist(
    x,# 指定要绘制直方图的数据
    bins,# 设置长条形的数目
    range,# 指定直方图数据的上下界,默认包含绘图数据的最大值和最小值(范围)
    density=True or False, # 如果"True",将y轴转化为密度刻度 默认为None
    weights,# 该参数可为每一个数据点设置权重
    cumulative=True or False,# 是否需要计算累计频数或频率 默认值False
    bottom=0, # 可以为直方图的每个条形添加基准线,默认为0
    histtype={'bar', 'barstacked', 'step', 'stepfilled'} # 设置样式
               # bar柱状形数据并排,默认值。
               # barstacked在柱状形数据重叠并排(相同的在一起)
               # step柱状形颜色不填充 
               # stepfilled填充的线性
    align='mid' or 'left' or 'right', # 设置条形边界值的对其方式,默认为mid,除此还有'left'和'right'
    orientation={'vertical', 'horizontal'},# 设置直方图的摆放方向,默认为垂直方向vertical
    rwidth,# 设置直方图条形宽度的百分比
    log=True or False,# 是否需要对绘图数据进行log变换 默认值False
    color='r',# 设置直方图的填充色
    label, # 设置直方图的标签
    stacked=True or False, # 当有多个数据时,是否需要将直方图呈堆叠摆放,默认False水平摆放;
    facecolor,# 设置长条形颜色(和color效果一致,设置color就不用再设置facecolor)
    edgecolor,# 设置边框的颜色
    alpha # 设置透明度  
)
# 注意组距,得到满意的展示效果
# 注意y轴所代表的变量是频数还是频率

二、绘制直方图

①绘制简单直方图

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
# bins设置长条形的数目
plt.hist(data,bins=10)
 
plt.show()

②:各个参数绘制的直方图

(1)histtype参数(设置样式bar、barstacked、step、stepfilled)

1. bar:柱状形数据并排(因为bar是默认值,可以不写)

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10)
 
plt.show()

 2. barstacked:在柱状形数据重叠并排(相同的在一起)

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,histtype='barstacked')
 
plt.show()

 3. step:柱状形颜色不填充 

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,histtype='step')
 
plt.show()

 4. stepfilled:生成一个默认填充的线图

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,histtype='stepfilled')
 
plt.show()

(2)range参数(指定直方图数据的上下界,默认包含绘图数据的最大值和最小值(范围))

不想显示数据全部范围,只想查看数据某一个范围内的数据。(例:下图数据范围为140~180之间,只想查看150~170之间的数据)

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,histtype='bar',range=(150,170))
 
plt.show()

(3)orientation参数 (设置直方图的摆放位置,vertical垂直方向 horizontal水平方向,默认值:vertical垂直方向)

垂直方向(默认垂直,可以不写):

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10)
 
plt.show()

 

horizontal水平方向:

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,orientation='horizontal')
 
plt.show()

(4)density参数(bool值,True:将坐标轴转化为密度刻度,默认值:None)

直方图为垂直方向时,观察y轴:

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,density=True)
 
plt.show()

 直方图为水平方向时,观察x轴:

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,orientation='horizontal',density=True)
 
plt.show()

(5)weights参数(为每个数据点设置权重)

  直方图为垂直方向时,观察y轴:

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,weights=data)
 
plt.show()

  直方图为水平方向时,观察x轴:

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,orientation='horizontal',weights=data)
 
plt.show()

(6)cumulative参数(bool值,是否需要计算累计频数或频率,默认值:False)

频数:指事件发生的次数

频率:指次数占总次数n的比例

频率=频数/n

  直方图为垂直方向时:

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,cumulative=True)
 
plt.show()

直方图为水平方向时: 

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,orientation='horizontal',cumulative=True)
 
plt.show()

(7)bottom参数(为直方图添加基准线)

直方图为垂直方向时,观察y轴:

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,bottom=170)
 
plt.show()

 直方图为水平方向时,观察x轴:

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,orientation='horizontal',bottom=170)
 
plt.show()

(8)align参数(设置条形边界值的对其方式,mid、left、right,默认值:mid)

mid(默认值可以不写):

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10)
 
plt.show()

 left:

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,align='left')
 
plt.show()

 right:

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,align='right')
 
plt.show()

(9)rwidth参数(设置直方图条形宽度的百分比)

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,rwidth=0.5)
 
plt.show()

(10)log参数(bool值,对绘图数据进行log变换 默认值:False)

直方图为垂直方向时,观察y轴:

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,log=True)
 
plt.show()

 直方图为水平方向时,观察x轴:

import matplotlib.pyplot as plt
import numpy as np
 
data=np.random.randint(140,180,200)
 
plt.hist(data,bins=10,orientation='horizontal',log=True)
 
plt.show()

(11)stacked参数(bool值,当有多个数据时,是否需要将直方图呈堆叠摆放,默认值:False水平摆放)

stacked=False时:(水平摆放)

import matplotlib.pyplot as plt
import numpy as np
 
x=np.random.randint(140,180,200)
y=np.random.randint(140,180,200)
 
plt.hist([x,y], bins=10)
 
plt.show()

 stacked=True时:(堆叠摆放)

import matplotlib.pyplot as plt
import numpy as np
 
x=np.random.randint(140,180,200)
y=np.random.randint(140,180,200)
 
plt.hist([x,y], bins=10,stacked=True)
 
plt.show()

(12)直方图所有参数展示:

import matplotlib.pyplot as plt
import numpy as np
 
plt.rcParams['font.sans-serif']=['FangSong']
 
fig=plt.figure(figsize=(8,8))
data=np.random.randint(140,180,200)
 
# data数据
# bins设置长条形的个数
# histtype设置样式 barstacked:在柱状形数据重叠并排(相同的在一起)
# range显示范围
# cumulative累计频数
# align设置边界对齐值为中心对齐
# orientation设置摆放方向为horizontal水平方向
# rwidth设置长条形宽度的百分比为20
# color设置长条形的填充颜色为#FFB6C1
# label设置直方图的标签
# edgecolor设置长条形边框线为#FFD700
# alpha设置长条形的透明度为0.5
# density=True 长条形呈水平方向:density将x轴转换为密度刻度  长条形呈垂直方向:density将y轴转换为密度刻度
# weights=data为每个数据点设置权重
# bottom设置基准线为15000
# log=True是否对数据进行log转换
plt.hist(data,bins=10,histtype='barstacked',range=(140,170),cumulative=True,align='mid',orientation='horizontal',rwidth=20,color='#FFB6C1',
        label='数量',edgecolor='#FFD700',alpha=0.5,weights=data,bottom=10000,log=False)
 
plt.xticks(size=20) # x轴刻度值大小
plt.yticks(size=20) # y轴刻度值大小
 
plt.title('hist',size=30) # 设置直方图标签
plt.xlabel('x轴',size=15) # 设置x轴标签
plt.ylabel('y轴',size=20) # 设置y轴标签
 
plt.rcParams.update({'font.size':20})  # 修改图例字体大小
 
plt.legend()
plt.show()

 三、在直方图上画折线图

import matplotlib.pyplot as plt
import numpy as np
 
x=np.random.nORMal(100,15,10000)
y=np.random.normal(80,15,10000)
 
# density=True设置为密度刻度
n1, bins1, patches1 = plt.hist(x, bins=50,  density=True, color='#00B8B8', alpha=1)
n2, bins2, patches2 = plt.hist(y, bins=50,  density=True, color='r', alpha=0.2)
 
plt.plot(bins1[:-1],n1,':',lw=3)
plt.plot(bins2[:-1],n2,'--',lw=3)
 
plt.show()

总结

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

--结束END--

本文标题: Python matplotlib.pyplot.hist()绘制直方图的方法实例

本文链接: https://www.lsjlt.com/news/119005.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Python matplotlib.pyplot.hist()绘制直方图的方法实例
    目录一、matplotlib.pyplot.hist()语法二、绘制直方图①绘制简单直方图②:各个参数绘制的直方图(1)histtype参数(设置样式bar、barstacked、s...
    99+
    2022-11-11
  • 怎么使用Python matplotlib.pyplot.hist()绘制直方图
    本篇内容介绍了“怎么使用Python matplotlib.pyplot.hist()绘制直方图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能...
    99+
    2023-07-02
  • python绘制直方图的方法
    本文实例为大家分享了python绘制直方图的具体代码,供大家参考,具体内容如下 用两列数据绘制直方图 #coding=gbk import xlwings as xw impor...
    99+
    2022-11-10
  • python绘制饼图和直方图的方法
    本文实例为大家分享了python绘制饼图和直方图的具体代码,供大家参考,具体内容如下 #饼图,常与结构分析结合使用 import pandas import numpy impo...
    99+
    2022-11-10
  • python绘制简单直方图的方法
    直方图,又称质量分布图,是一种统计报告图,由一系列高度不等的纵条或线段表示数据分布情况。用横轴表示数据类型,纵轴表示分布情况。直方图是数值数据分布的精确图形表示。绘制连续性的数据,展...
    99+
    2022-11-10
  • Python绘制直方图
    文章目录 初步参数绘图类型多组数据直方图对比 初步 对于大量样本来说,如果想快速获知其分布特征,最方便的可视化方案就是直方图,即统计落入不同区间中的样本个数。 以正态分布为例 impo...
    99+
    2023-10-27
    python matplotlib 直方图 hist 统计
  • python中pyplot直方图的绘制方式
    目录pyplot直方图的绘制python灰度直方图绘制pyplot直方图的绘制 import matplotlib.pyplot as plt import numpy as np ...
    99+
    2022-11-11
  • 基于Python+Matplotlib实现直方图的绘制
    目录1.关于直方图2.plt.hist()3. 绘制一幅简单的 频数 分布直方图4. 绘制一幅 频率 分布直方图5. 累积分布直方图(水平方向)1.关于直方图 直...
    99+
    2022-11-10
  • R语言绘制直方图实例讲解
    直方图表示被存储到范围中的变量的值的频率。 直方图类似于条形图,但不同之处在于将值分组为连续范围。 直方图中的每个柱表示该范围中存在的值的数量的高度。 R语言使用hist()函数创建...
    99+
    2022-11-12
  • Python利用matplotlib绘制直方图
    目录1. 直方图概述 1.1什么是直方图? 1.2直方图使用场景 1.3直方图绘制步骤 1.4案例展示2. 直方图属性 2.1设置颜色 2.2设置长条形数目 2.3设置透明度 2.4...
    99+
    2022-11-12
  • Python+matplotlib绘制条形图和直方图
    目录摘要一、bar()函数二,hist()函数三、数据统计摘要 先介绍条形图直方图,然后用随机数生成一系列数据,保存到列表中,最后统计出相关随机数据的概率并展示 前述介绍了由点进行划...
    99+
    2022-11-10
  • 怎么用python绘制饼图和直方图
    本篇内容介绍了“怎么用python绘制饼图和直方图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#饼图,常与结构分析结合使用import&n...
    99+
    2023-06-30
  • 基于Python+Matplotlib怎么实现直方图的绘制
    今天小编给大家分享一下基于Python+Matplotlib怎么实现直方图的绘制的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-06-30
  • R语言绘制频率直方图的案例
    频率直方图是数据统计中经常会用到的图形展示方式,同时在生物学分析中可以更好的展示表型性状的数据分布类型;R基础做图中的hist函数对单一数据的展示很方便,但是当遇到多组数据的时候就不...
    99+
    2022-11-11
  • Python中怎么用matplotlib绘制直方图
    这篇文章主要介绍“Python中怎么用matplotlib绘制直方图”,在日常操作中,相信很多人在Python中怎么用matplotlib绘制直方图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中...
    99+
    2023-06-21
  • Python+OpenCV绘制灰度直方图详解
    1.直方图的概念 图像直方图是反映一个图像像素分布的统计表,其实横坐标代表了图像像素的种类,可以是灰度的,也可以是彩色的。纵坐标代表了每一种颜色值在图像中的像素总数或者占所有像素个数...
    99+
    2022-11-13
  • Python+matplotlib怎么绘制条形图和直方图
    这篇文章主要介绍“Python+matplotlib怎么绘制条形图和直方图”,在日常操作中,相信很多人在Python+matplotlib怎么绘制条形图和直方图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”P...
    99+
    2023-06-30
  • Python matplotlib绘制灰度和彩色直方图
    目录一、Matplotlib.Pyplot简介1、Matplotlib2、Pyplot二、灰度直方图1、主要函数2、实现代码3、效果示例三、彩色直方图1、实现代码2、效果示例一、Ma...
    99+
    2022-11-12
  • Python怎么绘制概率分布直方图
    小编给大家分享一下Python怎么绘制概率分布直方图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言直方图是一个可以快速展示数据概率分布的工具,直观易于理解,并...
    99+
    2023-06-22
  • python怎么使用函数绘制直方图
    这篇文章主要为大家展示了“python怎么使用函数绘制直方图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python怎么使用函数绘制直方图”这篇文章吧。说明直方图一般用横轴表示数据范围,纵轴表...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作