我正在尝试制作一个混淆矩阵图,或者只是一个带有象限和某些东西的图。我使用了imshow。
cm = [[370288, 5190],
[ 2213, 6758]]
with plt.style.context("seaborn-white"):
ax = plt.gca()
ax.imshow(cm, interpolation='none', vmin=1, vmax=1)
classNames = ['no churn','churn']
ax.set_title('Confusion Matrix',fontsize=20, fontweight='bold', color='indigo')
ax.set_ylabel('actual',fontsize=15, fontweight='bold')
ax.set_xlabel('predicted',fontsize=15, fontweight='bold')
tick_marks = np.arange(len(classNames))
plt.xticks(tick_marks, classNames)
plt.yticks(tick_marks, classNames, rotation=90)
plt.grid(color='indigo', linestyle='-', linewidth=5)
s = [['TN','FP'], ['FN', 'TP']]
for i in range(2):
for j in range(2):
plt.text(j,i, str(s[i][j])+" = "+annot[i][j], size=12, ha='center', va='center')
plt.show()
不幸的是,我无法使网格正确。如果我添加
ax.set_xticks(np.arange(-.5, 1.5, 1))
ax.set_yticks(np.arange(-.5, 1.5, 1))
则网格是正确的,但x和y轴标签不再居中,并且左右边框也不为粗体。我该如何使用粗体边框和正确的网格将整个图分成四个象限?