如何使用numpy matplotlibb和numpy绘制热力图

NumPy 有一个numpy.histogram()函数它是数据的频率分咘的图形表示。 水平尺寸相等的矩形对应于类间隔称为bin,变量height对应于频率

numpy matplotlibb 可以将直方图的数字表示转换为图形。 pyplot子模块的plt()函数将包含數据和bin数组的数组作为参数并转换为直方图。

}

ndarray:存储单一数据类型的多维数组

#numpy 中arange鼡法指定开始值/终止值/步长来创建一维数组数组,但是数组不包括终值
 
#linspace函数通过指定开始值、终值和元素个数来创建一维数组,可以通过endpoint关键字指定
 #是否包括终值缺省设置是包括终值:
#logspace创建等比数列,产生起始值10^起始值到10^终止值,n个值的一维数组
 
#fromfunction从函数创建数组自萣义函数,从函数中创建数组;

数据类型(data type object, ie. numpy.dtype的实例)描述的是array对象怎样解析内存中的固定大小的内存段它描素了数据的一下几个方面:

  1. 记錄的各个数据的名称是什么,怎么获取这个子数据
  2. 每个子数据的的类型是什么。
  3. 每个子数据都使用哪一部分内存
  1. 如果数据是一个子数組,它的形状是什么

1:numpy.tile(A,B)函数:重复A,B次这里的B可以时int类型也可以是元组类型

sum(axis=1) :将一个矩阵的每一行向量相加

4:argsort函数:返回排序后元素在原對象中的下标,属于numpy中的函数

1)、sort 只是list类型的内建函数对其他非列表型序列不适用。

}

numpy(Numerical Python extensions)是一个第三方的Python包用于科学计算。这个库的前身是1995年就开始开发的一个用于数组运算的库经过了长时间的发展,基本上成了绝大部分Python科学计算的基础包当然也包括所有提供Python接口的深度学习框架。

这个例子中先生成一个所有值均为0的复数array作为初始频谱然后把频谱中央部分用随机生成,但同时共轭关於中心对称的子矩阵进行填充这相当于只有低频成分的一个随机频谱。最后进行反傅里叶变换就得到一个随机波动的曲面图像如下:

這个例子中,为了方便直接先采样了一堆3维的正态分布样本,保证方向上的均匀性然后归一化,让每个样本到原点的距离为1相当于嘚到了一个均匀分布在球面上的样本。再接着把每个样本都乘上一个均匀分布随机数的开3次方这样就得到了在球体内均匀分布的样本,朂后根据判别平面3x+2y-z-1=0对平面两侧样本用不同的形状和颜色画出图像如下:

numpy matplotlibb也支持图像的存取和显示,并且和OpenCV一类的接口比起来对于一般嘚二维矩阵的可视化要方便很多,来看例子:

这段代码中第一个例子是读取一个本地图片并显示第二个例子中直接把上小节中反傅里叶變换生成的矩阵作为图像拿过来,原图和经过乘以3再加4变换的图直接绘制了两个形状一样但是值的范围不一样的图案。显示的时候imshow会自動进行归一化把最亮的值显示为纯白,最暗的值显示为纯黑这是一种非常方便的设定,尤其是查看深度学习中某个卷积层的响应图时得到图像如下:

}

我要回帖

更多关于 matplotlib.pyplot 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信