本文主要介绍matplotlib的基本绘图命令imshow的使用。通过示例代码进行了非常详细的介绍,对于大家的学习或者工作都有一定的参考价值。下面让我们跟随边肖一起学习。
在matplotlib中,imshow方法用于绘制热点图,其基本用法如下
将matplotlib.pyplot作为plt导入
将numpy作为np导入
随机种子(123456789)
data=np.random.rand(25)。整形(5,5)
plt.imshow(数据)
输出结果如下
imshow方法首先将二维数组的值标准化为0到1之间的值,然后根据指定的渐变给每个单元格分配相应的颜色,从而形成热图。对于热图,我们通常需要绘制相应的图例,用colorbar方法实现,代码如下
plt.imshow(数据)
plt.colorbar()
输出结果如下
imshow方法中常用的几个参数如下
1. cmap
Cmap是colormap的缩写,用于指定渐变颜色。默认值为viridis。在matplotlib中,内置了一系列渐变颜色,用法如下
plt.imshow(data,cmap='Greens ')
输出结果如下
参见下面的链接,获得内置色彩映射表的完整列表。
https://matplotlib.org/tutorials/colors/colormaps.html
2. aspect
Aspect用于指定热图的单元大小。默认值是相等的。此时,单元格被用作正方形。当设置为auto时,单元格大小将根据画布的大小动态调整。用法如下
plt.imshow(data,aspect='auto ')
输出结果如下
3. alpha
alpha参数用于指定透明度,其用法如下
plt.imshow(数据,alpha=0.8)
输出结果如下
4. origin
orign参数指定绘制热图的方向。默认值为upper,热图右上角为(0,0)。当设置为较低时,热点图的左下角为(0,0)。用法如下
plt.imshow(data,origin='lower ')
输出结果如下
5. vmin和vmax
vmin和vmax参数用于限制数值范围,仅映射vmin和vmax之间的值。用法如下
plt.imshow(data,vmin=-0.8,vmax=0.8)
plt.colorbar()
输出结果如下
6. interpolation
延拓参数控制热图的显示形式,是一个很难理解的参数。对于相同的数据,对应不同值的热图形式如下
在日常使用中,nearest和None是应用最广泛的。
7. extent
范围参数指定热点图X轴和Y轴的极值,其值为长度为4的元组或列表,其中前两个值对应X轴的最小值和最大值,后两个参数对应Y轴的最小值和最大值。它的用法如下
plt.imshow(data,extent=(-0.5,4.5,4.5,-0.5))
输出结果如下
如您所见,上述代码的输出与默认输出完全相同。实际上,范围和起源这两个参数是相互关联的。当原点参数的值较高时,范围参数的默认值如下
(- 0.5,ncol(数据)-0.5,nrow(数据)-0.5,0.5)
当原点参数的值较低时,范围参数的默认值如下
(- 0.5,ncol(数据)-0.5,-0.5,nrow(数据)-0.5)
修改范围参数的值,图中像元对应的比例尺会发生变化,如下图所示。
plt.imshow(data,extent=(-0.5,5.5,-5.5,0.5))
输出结果如下
在大多数情况下,我们不需要自己手动指定范围参数的值。
绘制热点图时,还可以结合xlim和ylim参数来添加热点图周围的间隙。代码如下所示
plt.imshow(数据)
plt.xlim(-1,5)
plt.ylim(5,-1)
plt.colorbar()
输出结果如下
与R语言的热图相比,matplotlib中的热图不具备聚类树的功能,需要手工实现。但是添加图例很方便,而且得益于matplotlib灵活的基本功能,可以实现非常复杂的图。
python使用plt.imshow在坐标轴上展示图片,坐标设置问题。
例如,默认坐标是从上到下,从左到右
matplotlib.pyplot.imshow(X,cmap=None,norm=None,aspect=None,插值=None,alpha=None,
vmin=无,vmax=无,origin=无,extent=无,shape=无,
filternorm=1,filterrad=4.0,imlim=无,resample=无,
url=无,hold=无,data=无,**kwargs
他有很多参数,找了半天才发现应该是设置原点参数。
原点:['upper' | 'lower'],可选,默认:无
将数组的[0,0]索引放在轴的左上角或左下角。
如果没有,默认为rc image.origin。
设origin=' lower ',你会得到下图:
就是这样。本文介绍了使用imshow的matplotlib基本绘图命令。更多matplotlib imshow的相关内容,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。