Python matplotlib 混淆矩阵,底部x标签名称显示不全

Python matplotlib 混淆矩阵,底部x标签名称显示不全_第1张图片

是因为matplotlib新版本中,subplot.bottom默认为0.1

但是电脑分辨率过低时,这个默认的0.1,导致绘图窗口不足,底部便被剪切了。

解决:设置subplot.bottom为0.2

plt.gcf().subplots_adjust(bottom=0.2)

Python matplotlib 混淆矩阵,底部x标签名称显示不全_第2张图片

 

绘制混淆矩阵的代码,第一个参数cm为已经计算好的混淆矩阵

​
def plot_confusion_matrix(cm, classes,
                          title='Confusion matrix',
                          cmap=plt.cm.Blues):
    cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]
    plt.imshow(cm, interpolation='nearest', cmap=cmap)
    plt.title(title)
    plt.colorbar()
    tick_marks = np.arange(len(classes))
    plt.xticks(tick_marks, classes, rotation=45)
    plt.yticks(tick_marks, classes)
    plt.ylim(len(cm) - 0.5, -0.5)
    thresh = cm.max() / 2.
    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):
        plt.text(j, i, '{:.2f}'.format(cm[i, j]), horizontalalignment="center",
                 color="white" if cm[i, j] > thresh else "black")
    plt.tight_layout()
    plt.gcf().subplots_adjust(bottom=0.2)
    plt.ylabel('True label')
    plt.xlabel('Predicted label')
    plt.show()

​

你可能感兴趣的:(令人头大的环境问题,python,opencv)