如何高效创建热力图矩阵?基于坐标与数值生成指定矩阵
实现方法
有两种简单的方式可以实现这个需求:
通用任意坐标场景
如果你的坐标不一定是对角线位置,这种方法更通用:
先创建一个指定大小的零矩阵,再通过坐标的行、列索引直接赋值:
import numpy as np coors = np.array([[0,0],[1,1],[2,2]]) heat_values = [3,2,1] # 这里矩阵形状设为3x3,也可以根据坐标最大值自动计算:(coors.max()+1, coors.max()+1) mtx = np.zeros((3, 3)) mtx[coors[:, 0], coors[:, 1]] = heat_values
对角线坐标场景
像你例子里这样坐标刚好在对角线上的情况,可以直接用np.diag函数一步生成:
import numpy as np heat_values = [3,2,1] mtx = np.diag(heat_values)
运行后得到的mtx就是你需要的矩阵形式。
内容的提问来源于stack exchange,提问作者kusocodeing
相关产品推荐
相关产品推荐

