用PYthon的plt库生成一个混淆矩阵图片,我不需要颜色渐变表示准确率,只需要黑色的数字表示准确率,其他地方要求是透明的
时间: 2023-06-18 21:08:22 浏览: 85
可以使用Python中的Matplotlib库来生成混淆矩阵图像。以下是一个示例代码,其中红色部分可以改为黑色:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建混淆矩阵
confusion_matrix = np.array([[100, 10, 5], [25, 80, 15], [10, 20, 70]])
# 绘图
fig, ax = plt.subplots()
im = ax.imshow(confusion_matrix, cmap='Reds')
# 添加文本
for i in range(confusion_matrix.shape[0]):
for j in range(confusion_matrix.shape[1]):
text = ax.text(j, i, confusion_matrix[i, j], ha='center', va='center', color='black')
# 设置轴标签
ax.set_xlabel('预测标签')
ax.set_ylabel('真实标签')
# 添加分类标签
labels = ['类别1', '类别2', '类别3']
ax.set_xticks(np.arange(len(labels)))
ax.set_yticks(np.arange(len(labels)))
ax.set_xticklabels(labels)
ax.set_yticklabels(labels)
# 设置网格线
ax.set_xticks(np.arange(confusion_matrix.shape[1]+1)-.5, minor=True)
ax.set_yticks(np.arange(confusion_matrix.shape[0]+1)-.5, minor=True)
ax.grid(which='minor', color='w', linestyle='-', linewidth=3)
# 设置标题
ax.set_title('混淆矩阵')
# 显示图像
plt.show()
```
在上面的代码中,我们使用`imshow`函数来创建混淆矩阵,使用`text`函数添加每个单元格的数字,使用`set_xticklabels`和`set_yticklabels`函数添加标签,使用`grid`函数添加网格线,使用`set_title`函数添加标题。通过设置`color`参数为'black',我们可以将数字颜色设置为黑色。如果要将其他部分设置为透明,可以通过设置`alpha`参数来实现。
你可以根据需要调整代码中的参数,例如更改混淆矩阵,更改标签,更改标题等。
阅读全文