如何在热力图中添加数值
时间: 2024-03-03 11:47:40 浏览: 16
可以使用 `imshow` 函数的 `annotate` 方法在热力图上添加数值标签。以下是一个示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义数据
data = np.random.rand(5, 5)
# 绘制热力图
plt.imshow(data, cmap='hot', interpolation='nearest')
# 添加颜色条
plt.colorbar()
# 在热力图上添加数值标签
for i in range(data.shape[0]):
for j in range(data.shape[1]):
plt.annotate(format(data[i, j], '.2f'), xy=(j, i),
horizontalalignment='center', verticalalignment='center')
# 显示图形
plt.show()
```
在这个示例中,我们使用了两个嵌套的 `for` 循环遍历数据矩阵中的每个元素,并使用 `annotate` 方法在热力图上添加数值标签。`format(data[i, j], '.2f')` 用于格式化标签内容,保留小数点后两位。`xy` 参数指定了标签的位置,这里我们将标签放在每个矩形的中央。`horizontalalignment` 和 `verticalalignment` 参数指定了标签的水平和垂直对齐方式,这里我们将其设置为居中对齐。最后,我们使用 `show` 函数显示图形。