【发布时间】:2021-03-13 15:50:31
【问题描述】:
我需要绘制从各个方面进行注释的混淆矩阵。我在右侧遇到问题,我想在底部打印相同的标签([...类名称...,'Total samples','Accuracy''mIoU'])。此外,顶部刻度似乎与底部刻度不对齐。
这是我尝试过的:
fig, ax1 = get_new_fig('Conf matrix default', figsize)
ax = sn.heatmap(df_cm, annot=annot, annot_kws={"size": fz}, linewidths=lw, ax=ax1,
cbar=cbar, cmap=cmap, linecolor='w', fmt=fmt)
ax_new = ax.twinx().twiny()
labels = ['' for _ in range(len(ax.get_xticklabels()))]
labels[-3] = 'Total samples'
labels[-2] = 'Accuracy'
labels[-1] = 'mIoU'
ticks = [tick for tick in ax.get_xticks()]
ax_new.set_xticks(ticks)
ax_new.set_yticks(ticks)
ax_new.yaxis.set_label_position('right')
ax_new.set_xticklabels([text.get_text() for text in ax.get_xticklabels()], fontsize=10, rotation=-45) # top
ax_new.set_yticklabels(labels, fontsize=10, rotation=-25) # right
# set ticklabels
ax.set_xticklabels(labels, rotation=45, fontsize=10) # bottom
ax.set_yticklabels(ax.get_yticklabels(), rotation=25, fontsize=10) # left
我非常感谢任何帮助,因为我不知道我是否遗漏了代码中的某些内容或什么。
提前致谢。
【问题讨论】:
标签: python matplotlib heatmap confusion-matrix