You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中利用一维数组生成二维热力图?

基于一维数组生成两种热力图的实现方案

形式一:三角堆叠式热力图

步骤说明

  • 将一维数组拆分为长度依次为1、2、3的子数组,顺序为:原数组最后1个元素作为第一行,中间2个元素作为第二行,前3个元素作为第三行。
  • 补全为矩形矩阵(用NaN填充空白位置,避免绘图报错)。
  • 使用可视化库绘制热力图并添加标签。

代码实现

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# 自定义函数输出的一维数组
arr = np.array([0.4, 0.6, 0.2, 0.3, 0.9, 0.7])

# 拆分重组为三角结构
row1 = arr[-1:]  # [0.7]
row2 = arr[3:5]  # [0.3, 0.9]
row3 = arr[:3]   # [0.4, 0.6, 0.2]

# 补全为3x3矩形矩阵,空白处用NaN填充
heatmap_data = np.full((3, 3), np.nan)
heatmap_data[0, 2] = row1[0]
heatmap_data[1, 1:] = row2
heatmap_data[2, :] = row3

# 绘制热力图
plt.figure(figsize=(6, 4))
ax = sns.heatmap(heatmap_data, annot=True, cmap='YlGnBu', fmt='.1f', 
                 cbar=False, linewidths=1, linecolor='white')

# 添加标签
ax.set_title('形式一:三角堆叠热力图')
ax.set_yticklabels(['行1', '行2', '行3'])
ax.set_xticklabels(['列1', '列2', '列3'])

plt.show()

形式二:对称全矩阵热力图

步骤说明

  • 计算矩阵维度:一维数组长度为6,对应n*(n-1)/2=6,解得n=4(即4×4矩阵)。
  • 创建对角线为1的对称矩阵,将一维数组元素按示例顺序填充到上三角区域,再镜像到下三角区域。
  • 绘制热力图并添加样本标签。

代码实现

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# 自定义函数输出的一维数组
arr = np.array([0.4, 0.6, 0.2, 0.3, 0.9, 0.7])

# 初始化4×4对角矩阵(对角线为1)
n = 4
heatmap_data = np.eye(n)

# 定义上三角填充位置,按示例顺序赋值
upper_positions = [(0,1), (0,2), (0,3), (1,2), (1,3), (2,3)]
# 对应原数组的索引顺序:5,3,0,4,1,2
target_values = arr[[5,3,0,4,1,2]]

for idx, (i,j) in enumerate(upper_positions):
    heatmap_data[i,j] = target_values[idx]
    heatmap_data[j,i] = target_values[idx]  # 镜像到下三角

# 绘制热力图
plt.figure(figsize=(6, 6))
ax = sns.heatmap(heatmap_data, annot=True, cmap='YlOrRd', fmt='.1f', 
                 cbar=True, linewidths=1, linecolor='white')

# 添加标签
ax.set_title('形式二:对称全矩阵热力图')
ax.set_yticklabels(['样本A', '样本B', '样本C', '样本D'], rotation=0)
ax.set_xticklabels(['样本A', '样本B', '样本C', '样本D'])

plt.show()

适配说明

  • 若一维数组长度变化,只需重新计算矩阵维度n(满足n*(n-1)/2 = len(arr)),并调整元素填充的索引顺序即可。
  • 热力图的颜色映射、标注格式等可根据需求自定义修改。

内容的提问来源于stack exchange,提问作者Andy Junghyun Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 04:01:18