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

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值