绘制热力图:imshow()--matplotlib

news/2024/7/3 14:52:43

1. 函数功能

在二维规则栅格上展示数据,展示为图片。
输入可以是实际的RGB(A)数据,也可以是2D标量数据,将以伪彩色图像的形式呈现。若要显示灰度图像,请使用参数设置颜色映射。渲染图像所使用的像素数量由Axes尺寸和图形的dpi设置决定。

2. 函数语法

matplotlib.pyplot.imshow(X, cmap=None, norm=None, *, aspect=None, 
interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, 
interpolation_stage=None, filternorm=True, filterrad=4.0, resample=None, 
url=None, data=None, **kwargs)

3. 函数参数

参数含义
X要显示的图像数据,可以是2D数组(灰度图)或3D数组(彩色图)
cmap指定图像的颜色映射。
norm可选参数,字符串或Normalize,将数字映射到颜色之前的标准化方法,默认线性标准化方式,最小值标准化为0,最大值标准化为1;取值为字符串时可以指定标准化方法:“linear”, “log”, “symlog”, “logit” 等。
vmin,vmax当使用标量数据且没有显式的norm时,vmin和vmax定义了色图所覆盖的数据范围。默认情况下,色图覆盖了提供的数据的完整值范围。一般不与norm参数同时使用:指定对数据标准化,或指定数据最大、最小值
aspectAxes的纵横比,这个参数对于图像特别重要,因为它决定了数据像素是否是正方形的。默认为:equal
interpolation指定图像处理的插值方法
alpha图像的透明度
origin图像的原点位置,可以是’upper’、'lower’中的一个,默认为upper
extent表示图像在坐标系中的位置和大小,用四个数字表示(左、右、下、上),默认值与origin的位置有关:当origin=‘upper’:位置为(-0.5ncols-0.5,nrows-0.5,-0.5);当origin=‘lower’:位置为:(-0.5, numcols-0.5, -0.5, numrows-0.5)

3.1 简单展示

mt_zone = data_clean.pivot_table(values='数量',index='月',columns='销售区域',aggfunc='sum')
mt_zone

在这里插入图片描述

plt.imshow(mt_zone,cmap='Greens',vmin=0,vmax=60000)
plt.colorbar()
plt.show()

在这里插入图片描述

mt1=mt_zone.loc[[7],]
plt.imshow(mt1,cmap='BuPu',norm='linear')
plt.colorbar()
plt.xticks(ticks = np.arange(0,6),labels=mt1.columns)
plt.show()

在这里插入图片描述

3.2 参数调整

3.2.1 指定原点位置:origin

# 指定origin的位置,指定在下方
plt.imshow(mt_zone,cmap='BuPu',norm='linear',origin='lower')
plt.colorbar()
#plt.xticks(ticks = np.arange(0,6),labels=mt_zone.columns)
# plt.yticks(ticks=np.arange(0,6),labels=mt_zone.index)
plt.show()

在这里插入图片描述

3.2.2 添加数值

mt1 = mt_zone.loc[[7],]
plt.imshow(mt_zone,cmap='BuPu',norm='linear',origin='upper')
plt.colorbar()
plt.xticks(ticks = np.arange(0,6),labels=mt_zone.columns)
plt.yticks(ticks=np.arange(0,6),labels=mt_zone.index)
for i in range(mt_zone.shape[1]):
    for j in range(mt_zone.shape[0]):
        #print(i,j,mt_zone.iloc[i,j])
        plt.text(j,i,mt_zone.iloc[i,j],ha='center',va='center')

在这里插入图片描述

3.2.3 设置没格的形状。默认为正方形

mt1 = mt_zone.loc[[7],]
plt.imshow(mt_zone,cmap='BuPu',norm='linear',origin='upper',aspect='auto')
plt.colorbar()
plt.xticks(ticks = np.arange(0,6),labels=mt_zone.columns)
plt.yticks(ticks=np.arange(0,6),labels=mt_zone.index)
for i in range(mt_zone.shape[1]):
    for j in range(mt_zone.shape[0]):
        #print(i,j,mt_zone.iloc[i,j])
        plt.text(j,i,mt_zone.iloc[i,j],ha='center',va='center')

在这里插入图片描述

参考内容:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.imshow.html


http://www.niftyadmin.cn/n/4748253.html

相关文章

sql语句开远程终端+建用户+2003添加远程桌面组用户

没有技术含量,纯属一次偶然中的方便, 代码在查询分析器上可以一步完成以上操作,在2003和XP实验已经成功. 代码如下: ___________________________________________________________________________________________ xp_cmdshell echo Windows Registry Editor Version 5.00&…

分享最近项目出现的问题和思想升华

每天最多的时间对着电脑鼓捣着程序,或因为一个问题不能解决而绞尽脑汁苦苦思索,或因为有了点小小的成果而沾沾自喜兴奋异常。 ----《疯狂的程序员》 软件开发是一个善于思考的职业,写程序都是要经过需求分析、设计、编码还有测试运行的。所以…

提高班下一阶段的学习任务汇总

提高班下一阶段的学习任务概括起来很简单——软件工程 1.软工视屏 要求:做笔记,画图,看完后写关于机房收费的文档 2.UML的视屏 要求:做笔记 3.Rose制图 要求:看完后,画机房收费系统的UML图(共9种…

关于RDP协议的分析(一)

导读: 关于RDP协议的分析(一)关于RDP协议的分析和研究 -------------- leadgenius 写这个一是便于学习,再就是与网友们共同讨论,有一些我也不确定的,只是我的理解…

linux ftp上传下载文件,Linux利用ftp命令上传下载文件

Linux中如何使用ftp命令,包括如何连接ftp服务器,上传or下载文件以及创建文件夹。虽然现在有很多ftp桌面应用(例如:FlashFXP),但是在服务器、SSH、远程会话中掌握命令行ftp的使用还是很有必要的。ftp命令使用格式:ftp […

qwt-6.0.2在qt creator下的编译和运行

今天在书上看到qt下有一个很好的图形界面插件qwt,于是就想着来试一试。在网上把qwt(版本为6.0.2)下下来之后,按照网站(qwt.sourceforge.net)上给的提示译了之后,就可以运行qwt自带的例子了&…

乘法命令linux,如何在Linux命令行中做基础数学计算/数值运算

Linux bash或命令行可让您执行基本和复杂的算术和布尔运算。诸如expr,jot,bc和factor等命令可帮助您找到复杂问题的最佳数学解决方案。在本文中,我们将描述这些命令并提供示例,这些示例将成为您转向更有用的数学解决方案的基础。这…

linux里面编辑命令,Linux中Vi编辑器之简单常用命令Linux中

原标题:Linux中Vi编辑器之简单常用命令Linux中Vi是Linux中最基本的文本编辑器。vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command…