matshow显示数值
时间: 2023-08-29 07:04:42 浏览: 58
`matshow` 函数可以用来显示一个二维数组或矩阵,但默认情况下不会显示数值。但我们可以通过在矩阵中添加文本来显示数值。
以下是一个示例代码:
``` python
import numpy as np
import matplotlib.pyplot as plt
# 创建一个 3x3 的随机矩阵
matrix = np.random.rand(3, 3)
# 绘制矩阵
fig, ax = plt.subplots()
im = ax.matshow(matrix)
# 在每个单元格中显示数值
for i in range(matrix.shape[0]):
for j in range(matrix.shape[1]):
ax.text(j, i, '{:.2f}'.format(matrix[i, j]), ha='center', va='center')
plt.show()
```
这将绘制一个大小为 3x3 的随机矩阵,并在每个单元格中显示该单元格的值,保留两位小数。`ax.text()`函数可以在指定的位置添加文本,这里我们使用该单元格的行列索引作为文本的位置。`ha`和`va`参数分别指定水平和垂直对齐方式,这里我们选择居中对齐。`'{:.2f}'.format(matrix[i, j])`是一个格式化字符串,将矩阵元素格式化为一个保留两位小数的浮点数。
注意,由于 `matshow` 函数使用的是颜色映射而不是实际的颜色,因此在某些情况下可能会出现文本与背景颜色相似的问题,因此可能需要更改颜色映射或文本颜色以解决此问题。