python绘制简单的热图

有时候图像需要用热图也就是heatmap来进行可视化下面是我的代码

# coding=utf-8
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
import urllib
from pyheatmap.heatmap import HeatMap
data = []
# sdata = np.load(Image.open('/media/xhj/LENOVO/hjxu-code/maskgrid/123finl.tif'))
sdata =np.load('/home/xhj/hjxu-code/model2/data/123/bigbig12345.npy')      #sdata是用来测试的图片或者npy矩阵图片
rows,cols=sdata.shape
for i in range(1,rows):
    for j in range(1,cols):
        if sdata[j,i] > 0.5:        #判断条件,比如我的举证是0-1,我判断大于0.5的变红
           a = [i,j]
           data.append(a)
        else:
            continue

# imgbigroot = '/media/xhj/LENOVO/hjxu-code/maskgrid/2000/TUmor-016,_3.tif' # 用来测试的大图
# data_a = np.load('/home/xhj/hjxu-code/model2/data/123/filename12345.npy')
# data_b =Image.open(imgbigroot)
# data = data_a*data_b
hm = HeatMap(data)   
 hm.clickmap(save_as="/home/xhj/PycharmProjects/Metasverify/save/hit.png")        # 对应的点击图保存
hm.heatmap(save_as="/home/xhj/PycharmProjects/Metasverify/save/bigheat.tif")    #对应的热图保存
# hit_img2 = hm.heatmap(base=data_b)
# hit_img2.save("/home/xhj/PycharmProjects/Metasverify/save/hit3.tif")
#plt.imshow(hit_img2) # 显示图片
# plt.axis('off') # 不显示坐标轴
# plt.show()
a[] 对应的是输入的数据为形如 [[123, 234], [429, 82], [220, 535], …] 这样的列表或元组,可以把它理解为一组平面坐标。比如我需要在坐标[123,234]处变红,这时候输入的a就是[123,234]

也可以对应底图,下面是转载这里的https://sanwen8.cn/p/67bI7L3.html

绘制图片时,还可以指定一个底图,这个底图可以是任意图像,也可以是另一个点击图。比如:

1

2

3

4

5

6

7

8

9

10

defexample2():

 

    data_1=loadDataFromFile("test_data.txt")

    data_2=loadDataFromFile("test_data2.txt")

 

    hm=HeatMap(data_1)

    hit_img=hm.clickmap()

    hm2=HeatMap(data_2)

    hit_img2=hm2.clickmap(base=hit_img,color=(0,0,255,255))

    hit_img2.save("hit2.png")


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值