python绘制二维直方图的代码实现

 更新时间:2023年07月13日 09:16:28   作者:微小冷  
本文主要介绍了python绘制二维直方图的代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

hist+scatter

如果想描述二维数据的分布特征,那么一个直方图显然是不够用的,为此可使用两个直方图分别代表xy方向上的分布情况,同时透过散点图查看其整体的分布特征。

下面创建一组二元高斯分布的数据,用于直方图测试。多元高斯分布的主要参数仍为期望和方差,但所谓多元分布,在坐标层面的表现就是坐标轴的个数,也就是向量维度。所以N个元素对应N维向量,也就有N个期望;而方差则进化为了协方差矩阵

import numpy as np
import matplotlib.pyplot as plt
mean = [0, 0]
cov = [[0, 1], [10, 0]]
x, y = np.random.multivariate_normal(mean, cov, 5000).T

其中,x,y就是待统计的数据。

fig = plt.figure()
gs = fig.add_gridspec(2, 2,  
    width_ratios=(4, 1),  
    height_ratios=(1, 4))
ax = fig.add_subplot(gs[1, 0])
ax.scatter(x, y, marker='x')        # 散点图绘制
xHist = fig.add_subplot(gs[0, 0], sharex=ax)
xHist.tick_params(axis="x", labelbottom=False)
yHist = fig.add_subplot(gs[1, 1], sharey=ax)
yHist.tick_params(axis="y", labelleft=False)
binwidth = 0.25
lim = (int(np.max(np.abs([x,y]))/0.25) + 1) * 0.25
bins = np.arange(-lim, lim + binwidth, binwidth)
xHist.hist(x, bins=bins)
yHist.hist(y, bins=bins, orientation='horizontal')
plt.show()

其中,tick_params用于取消直方图左侧和下面的坐标刻度,效果如下

hist2d

相比之下,hist2d可以更加便捷地绘制直方图,并以图像的形式反馈回来

当然,也可以把hist+scatter图中的散点图代之以hist2d

fig = plt.figure()
gs = fig.add_gridspec(2, 2,  
    width_ratios=(4, 1),  
    height_ratios=(1, 4))
ax = fig.add_subplot(gs[1, 0])
ax.hist2d(x, y, bins=40)        # 散点图绘制
xHist = fig.add_subplot(gs[0, 0], sharex=ax)
xHist.tick_params(axis="x", labelbottom=False)
yHist = fig.add_subplot(gs[1, 1], sharey=ax)
yHist.tick_params(axis="y", labelleft=False)
binwidth = 0.25
lim = (int(np.max(np.abs([x,y]))/0.25) + 1) * 0.25
bins = np.arange(-lim, lim + binwidth, binwidth)
xHist.hist(x, bins=bins)
yHist.hist(y, bins=bins, orientation='horizontal')
plt.show()

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

相关文章

  • python中的hashlib和base64加密模块使用实例

    python中的hashlib和base64加密模块使用实例

    这篇文章主要介绍了python中的hashlib和base64加密模块使用实例,hashlib模块支持的加密算法有md5 sha1 sha224 sha256 sha384 sha512,需要的朋友可以参考下
    2014-09-09
  • 通过PYTHON来实现图像分割详解

    通过PYTHON来实现图像分割详解

    这篇文章主要介绍了通过PYTHON来实现图像分割详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • python中使用时间戳timestamp问题

    python中使用时间戳timestamp问题

    文章介绍了Python中使用时间戳和时间模块的操作,包括获取当前时间、计算程序运行时间以及时间戳与时间字符串之间的转换
    2025-02-02
  • python打印带时间的日志实现代码

    python打印带时间的日志实现代码

    python的logging模块提供了标准的日志接口,可以通过它存储各种格式的日志,下面这篇文章主要给大家介绍了关于python打印带时间的日志的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • Jupyter Notebook折叠输出的内容实例

    Jupyter Notebook折叠输出的内容实例

    这篇文章主要介绍了Jupyter Notebook折叠输出的内容实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Tensorflow 读取ckpt文件中的tensor操作

    Tensorflow 读取ckpt文件中的tensor操作

    这篇文章主要介绍了Tensorflow 读取ckpt文件中的tensor操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 在Python的Django框架中编写编译函数

    在Python的Django框架中编写编译函数

    这篇文章主要介绍了在Python的Django框架中编写编译函数,配合模版标签在模版中进行使用<需要的朋友可以参考下
    2015-07-07
  • pytorch实现查看当前学习率

    pytorch实现查看当前学习率

    这篇文章主要介绍了pytorch实现查看当前学习率,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Django项目中添加ldap登陆认证功能的实现

    Django项目中添加ldap登陆认证功能的实现

    这篇文章主要介绍了Django项目中添加ldap登陆认证功能的实现,详细介绍了django-auth-ldap的使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • python实现npy格式文件转换为txt文件操作

    python实现npy格式文件转换为txt文件操作

    这篇文章主要介绍了python实现npy格式文件转换为txt文件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07

最新评论