python将二维矩阵转换为热力图
时间: 2025-06-25 08:03:12 浏览: 15
### 使用 Python 将二维矩阵可视化为热力图
为了实现将二维矩阵可视化为热力图的功能,可以利用 `seaborn` 和 `matplotlib` 库中的工具。以下是详细的说明以及代码示例。
#### 安装依赖库
如果尚未安装所需的库,请先通过以下命令完成安装:
```bash
pip install numpy matplotlib seaborn
```
#### 数据准备
假设有一个二维数组作为输入数据源。可以通过 NumPy 随机生成一个简单的二维矩阵用于演示目的。
```python
import numpy as np
# 创建一个 10x10 的随机浮点数矩阵
data_matrix = np.random.rand(10, 10)
print(data_matrix)
```
#### 绘制热力图
使用 `seaborn.heatmap()` 方法绘制热力图。此方法允许自定义颜色映射 (`cmap`)、显示数值标签 (`annot`) 等参数[^1]。
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 设置绘图风格
sns.set_theme()
# 调用 heatmap 函数并传递数据矩阵
plt.figure(figsize=(8, 6)) # 自定义画布大小
heat_map = sns.heatmap(
data_matrix,
annot=True, # 是否在单元格中标记具体值
fmt=".2f", # 数字格式保留两位小数
cmap="YlGnBu", # 颜色渐变方案 (可选其他如 'coolwarm', 'viridis')
cbar=True # 显示右侧的颜色条
)
# 添加标题和坐标轴名称
plt.title("Heatmap Visualization of a 2D Matrix", fontsize=16)
plt.xlabel("Columns", fontsize=12)
plt.ylabel("Rows", fontsize=12)
# 展示图像
plt.show()
```
以上代码片段会生成一张带有标注的热力图,并应用指定的颜色主题[^2]。
#### 掩码功能的应用
当需要隐藏部分区域时,可通过掩码技术实现。例如,在相关系数矩阵中仅展示下三角形部分的数据[^2]。
```python
# 计算相关系数矩阵
correlation_matrix = np.corrcoef(data_matrix)
# 构建掩码矩阵
mask_array = np.zeros_like(correlation_matrix, dtype=bool)
mask_array[np.triu_indices_from(mask_array)] = True
# 使用 mask 参数过滤掉不需要显示的内容
with sns.axes_style("white"):
heat_map_masked = sns.heatmap(
correlation_matrix,
mask=mask_array,
vmax=.3,
square=True,
annot=True,
cmap="RdBu_r"
)
plt.title("Masked Heatmap Example", fontsize=14)
plt.show()
```
阅读全文
相关推荐

















