首页 > 解决方案 > 在 Python 中使用自定义 x 和 y 轴绘制混淆矩阵?

问题描述

我有一个数组形式的混淆矩阵,比如

[[ 265, 1522],
 [  44,  146]]

我正在做这样的事情来绘制

import seaborn as sns
import matplotlib.pyplot as plt
cm = confusion_matrix(yTest, yPredicted)
sns.heatmap(cm, annot=True,fmt="d", cmap='YlGnBu', linecolor='black', linewidths=1)
plt.title("Confusion Matrix")
plt.title("Confusion Matrix")
plt.xlabel("Actual")
plt.ylabel("Predicted")

它给了我这张图

但是我怎样才能改变 x 和 y 轴并得到这样的图形 所需图表

标签: python-3.xpandasmatplotlib

解决方案


转置矩阵,交换轴标签并通过设置限制来反转轴方向:

sns.heatmap(cm.T, annot=True,fmt="d", cmap='YlGnBu', linecolor='black', linewidths=1)
plt.title("Confusion Matrix")
plt.ylabel("Actual")
plt.xlabel("Predicted")
plt.ylim(0,2)
plt.xlim(2,0)

您可以旋转 y 轴标签,如示例中所示:

plt.ylabel('\n'.join(list('Actual')), rotation=0, va='center')
plt.yticks(rotation=0)

在此处输入图像描述


推荐阅读