Python绘制直方图的示例代码

 更新时间:2023年07月11日 08:59:33   作者:微小冷  
本文主要介绍了如何使用Python绘制直方图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

初步

对于大量样本来说,如果想快速获知其分布特征,最方便的可视化方案就是直方图,即统计落入不同区间中的样本个数。

以正态分布为例

import numpy as np
import matplotlib.pyplot as plt
xs = np.random.normal(0, 1, size=(5000))
fig = plt.figure()
for i,b in enumerate([10, 50, 100, 200],1):
    ax = fig.add_subplot(2,2,i)
    plt.hist(xs, bins=b)
plt.show()

其中bins参数用于调控区间个数,出图结果如下

参数

直方图函数的定义如下

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)

除了xbins之外,其他参数含义为

  • range 绘图区间,默认将样本所有范围纳入其中
  • density 为True时,纵坐标单位是占比
  • weights 与x个数相同,表示每个值所占权重
  • cumulative 为True时,将采取累加模式
  • bottom y轴起点,有了这个,可以对直方图进行堆叠
  • histtype 绘图类型
  • align 对其方式,可选left, mid, right三种,代表左中右
  • oritentation 绘制方向,可选vertical和horizontal两种
  • rwitdth 数据条宽度
  • log 为True时,开启对数坐标
  • color, label 颜色,标签
  • stacked

绘图类型

histtype共有4个选项,分别是bar, barstacked, step以及stepfilled,其中barstacked表示堆叠,下面对另外三种参数进行演示

types = ['bar', 'step', 'stepfilled']
fig = plt.figure()
for i,t in enumerate(types,1):
    ax = fig.add_subplot(1,3,i)
    plt.hist(xs, bins=50, histtype=t, rwidth=0.5)
plt.show()

效果如下

堆叠直方图,就是把多个直方图叠在一起

bins = [10, 30, 100]
ws = [1, 0.7, 0.5]
for b,w in zip(bins, ws):
    print(b,w)
    plt.hist(xs, bins=b, density=True, 
        histtype='barstacked', rwidth = w, alpha=w)
plt.show()

效果如下

多组数据直方图对比

直方图中设置了rwidth选项,这意味着可以通过合理安排数据条宽度,以实现多组数据直方图在一个图像中更加

N = 10000
labels = ["norm", "power", "poisson"]
data = np.array([
    np.random.normal(0, 1, size=N)**2,
    np.random.power(5, size=N),
    np.random.uniform(0, 1, size=N)
]).T
plt.hist(data, 50, density=True, range=(0,1), label=labels)
plt.legend()
plt.show()

其中,data为3组统计数据,hist函数会自行规划画布,效果如下

到此这篇关于Python绘制直方图的示例代码的文章就介绍到这了,更多相关Python绘制直方图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式

    tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式

    今天小编就为大家分享一篇tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 如何利用python实现词频统计功能

    如何利用python实现词频统计功能

    词频统计用途很广泛,比如我们统计某篇文章中的用词频率,网络热点词汇,再比如起名排行榜呀、热门旅游景点排行榜呀什么的,其实也都可以套用,这篇文章主要给大家介绍了关于如何利用python实现词频统计功能的相关资料,需要的朋友可以参考下
    2021-10-10
  • 自己用python做的一款超炫酷音乐播放器

    自己用python做的一款超炫酷音乐播放器

    这篇文章主要介绍了自己用python做的一款超炫酷音乐播放器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • DataFrame.groupby()所见的各种用法详解

    DataFrame.groupby()所见的各种用法详解

    这篇文章主要介绍了DataFrame.groupby()所见的各种用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • wxPython之解决闪烁的问题

    wxPython之解决闪烁的问题

    下面小编就为大家分享一篇wxPython之解决闪烁的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Python操作Word文档属性与字数统计的方法详解

    Python操作Word文档属性与字数统计的方法详解

    这篇文章主要为大家详细介绍了Python操作Word文档属性与字数统计的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2026-04-04
  • 一篇文章带你了解python异常基础

    一篇文章带你了解python异常基础

    今天小编就为大家分享一篇关于Python中的异常介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2021-08-08
  • python绘图中的 四个绘图技巧

    python绘图中的 四个绘图技巧

    在可视化数据时,通常需要在单个图形中绘制多个图形。 例如,如果您想从不同的角度可视化相同的变量如:数字变量的并排直方图和箱线图,则多个图形很有用。 在这篇文章中,我分享了绘制多个图形的 4 个简单但实用的技巧,具有一定的参考价值,需要的小伙伴可以参考一下
    2021-12-12
  • Windows下Python的Django框架环境部署及应用编写入门

    Windows下Python的Django框架环境部署及应用编写入门

    这篇文章主要介绍了Windows下Python的Django框架环境部署及程序编写入门,Django在Python的框架中算是一个重量级的MVC框架,本文将从程序部署开始讲到hellow world web应用的编写,需要的朋友可以参考下
    2016-03-03
  • Python3中小括号()、中括号[]、花括号{}的区别详解

    Python3中小括号()、中括号[]、花括号{}的区别详解

    这篇文章主要介绍了Python3中小括号()、中括号[]、花括号{}的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论