我试图通过seaborn绘制混淆矩阵,但是当它们旋转到90度时无法将yticklabel居中对齐。虽然 ha 在没有旋转的情况下工作但是在旋转时失败。这是最小的工作示例 -
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
cmat = np.matrix([[2, 3], [4, 5]])
fig, ax = plt.subplots(figsize=(4, 4))
sns.heatmap(cm_greina, annot=True, xticklabels=['Faulty', 'Healthy'], cbar=False, ax=ax)
ax.set_yticklabels(['Faulty', 'Healthy'], rotation=90, ha='center')
任何帮助将不胜感激。
答案 0 :(得分:2)
您可能希望使用垂直对齐,而不是水平对齐:
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
cmat = np.matrix([[2, 3], [4, 5]])
fig, ax = plt.subplots(figsize=(4, 4))
sns.heatmap(cmat, annot=True, xticklabels=['Faulty', 'Healthy'], cbar=False, ax=ax)
ax.set_yticklabels(['Faulty', 'Healthy'], va='center', rotation = 90, position=(0,0.28))
plt.show()