用Python绘制Heatmap

本文内容为基于python的heatmap的绘制与渲染


前言

在写论文时,看到大佬们的文章中精美的图表。却不知道如何进行绘制,本文提供了一种heatmap的绘制方式。


一、Heatmap是什么?

Heatmap中文称为热点图,热点图是通过使用不同的标志将图或页面上的区域按照受关注程度的不同加以标注并呈现的一种分析手段,标注的手段一般采用颜色的深浅、点的疏密以及呈现比重的形式,因此使用热点图,你可以把感兴趣区域更直观的表现出来。如下图,就是漂亮的热点图。
在这里插入图片描述
其中深色区域就是区别于浅色区域的信息,通过热点图,可以更加直观的展现感兴趣的区域。那么这样的热点图是怎么绘制的呢?下文将进行详细的介绍。

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from numpy import random

2.代码

代码如下(示例):

for i in range(0,200):              #生成200幅图的热度图
    test = np.load(f'C:/Users/XXX/Desktop/Siamese-pytorch-master/{i}.npy',allow_pickle=True) #加载npy文件,一种可存储tensor信息的文件
    test_list=test.tolist()#读取npy文件信息
    list = []
    for j in range(0,462):
        love=test_list[j]
        loves=love[0]  #读取list的索引为0的内容,数据类型为tensor
        float_similarity=loves.tolist()
        list.append(float_similarity)
        print(love)
    pp=np.array(list).reshape((21,22))#把1*462矩阵转换为21*22大小的矩阵
    print(pp)
    sns_plot = sns.heatmap(pp,xticklabels=False,yticklabels=False,annot=True)#xticklabels 是否显示横坐标;annot 是否在块上显示数值
    plt.pyplot.show()#显示热度图

总结

下面是Cmap的一些风格

- Accent, Accent_r, 
- Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, 
- CMRmap, CMRmap_r, 
- Dark2, Dark2_r, 
- GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, 
- OrRd, OrRd_r, Oranges, Oranges_r, 
- PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, 
  PuBu, PuBuGn, PuBuGn_r, PuBu_r,   PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, 
- RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, 
- Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, 
- Wistia, Wistia_r, 
- YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r, 
- afmhot, afmhot_r, autumn, autumn_r, 
- binary, binary_r, bone, bone_r, brg, brg_r, bwr, bwr_r, 
- cividis, cividis_r, cool, cool_r, coolwarm, coolwarm_r, copper, copper_r, cubehelix, cubehelix_r, 
- flag, flag_r, 
- gist_earth, gist_earth_r, gist_gray, gist_gray_r, gist_heat, gist_heat_r, gist_ncar, gist_ncar_r, 
  gist_rainbow, gist_rainbow_r, gist_stern, gist_stern_r, gist_yarg, gist_yarg_r, 
  gnuplot, gnuplot2, gnuplot2_r, gnuplot_r, gray, gray_r, 
- hot, hot_r, hsv, hsv_r, 
- icefire, icefire_r, inferno, inferno_r, 
- jet, jet_r, 
- magma, magma_r, mako, mako_r, 
- nipy_spectral, nipy_spectral_r, 
- ocean, ocean_r, 
- pink, pink_r, plasma, plasma_r, prism, prism_r, 
- rainbow, rainbow_r, rocket, rocket_r, 
- seismic, seismic_r, spring, spring_r, summer, summer_r, 
- tab10, tab10_r, tab20, tab20_r, tab20b, tab20b_r, tab20c, tab20c_r, 
  terrain, terrain_r, twilight, twilight_r, twilight_shifted, twilight_shifted_r, 
- viridis, viridis_r, vlag, vlag_r, 
- winter, winter_r

下面是我平时比较常用的风格,这种风格有渐变,所以显示出来的heatmap颜色过渡性比较好,这样子做出来的图就不会显得特别突兀。
在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值