成功解决混淆矩阵绘制过程中坐标轴不显示中文和中文只显示一半的问题!!!

成功解决混淆矩阵绘制过程中坐标轴不显示中文和中文只显示一半的问题!!!_第1张图片

问题1,坐标轴不显示中文,如上图所示

问题1,解决方案:加入 plt.rcParams['font.sans-serif'] = ['SimSun']这段代码后,成功显示中文。

成功解决混淆矩阵绘制过程中坐标轴不显示中文和中文只显示一半的问题!!!_第2张图片

 

问题2:坐标轴中文不能完全显示如上图所示,尝试了很多种方法,包括调节画布大小和坐标轴字号大小,都没有解决。

问题2解决方案:加入plt.tight_layout() 函数后成功解决。 

函数详解:

plt.tight_layout() 是 Matplotlib 中的一个函数,它可以自动调整子图、坐标轴和标题之间的间距,使得图像更紧凑,更美观。 它会忽略那些被标记为不可见或已经被删除的子图。 在绘制多个子图时,可以使用该函数来调整布局,以免各子图之间的重叠或空隙过大。

两个问题的完整代码:

    
    plt.rcParams['font.sans-serif'] = ['SimSun']#解决无法显示中文
    plt.rcParams['axes.unicode_minus'] = False
    plt.xlabel('真实标签',fontsize=10)#绘制混淆矩阵图中的文本标签
    plt.ylabel('预测标签')
    plt.tight_layout()#自动调整子图间距,使图紧凑美观
    # 这里这个savefig是保存图片,如果想把图存在什么地方就改一下下面的路径,然后dpi设一下分辨率即可。
    plt.savefig('./tsne/hunxiaojuzhen_'+str(epoch)+'.png', dpi=350)

最终效果图:

成功解决混淆矩阵绘制过程中坐标轴不显示中文和中文只显示一半的问题!!!_第3张图片

 

你可能感兴趣的:(python,matplotlib,开发语言)