一、场景说明:生成图表时相关中文成为了乱码显示不正常,网上的方法很多,但还是总结一下!

  二、场景代码:

      import matplotlib.pyplot as plt

       #以下两段注释代码可临时解决
      #plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
      #plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
      squares=[1,4,9,16,25]
      plt.plot(squares,linewidth=5)
      plt.title("标题定义",fontsize=24)
      plt.xlabel("X轴Label",fontsize=20)
      plt.ylabel("Y轴Label",fontsize=20)
      plt.show()

  

  三、问题场景:如果未做任何处理的话则会生成如下图像,其中的中文都成为了符号;

    

 

  四:解决方法步骤:

        1、通过如下代码找到matplotlib配置文件路径:
             import matplotlib
              print(matplotlib.matplotlib_fname())
        2、找到该目录下的 matplotlibrc 文件并且以文本的方式打开;
        3、删除 font.familyfont.sans-serif 两行前的#注释;
        4、在 font.sans-serif 后添加(,隔开) Microsoft YaHei
        5、将 font.family 后的 sans-serif 改为 Microsoft YaHei
        6、下载微软雅黑字体并且放到当前目录下\fonts\ttf中的字体目录中;(下载地址:http://font.chinaz.com/940144340.htm
        7、删除
.matplotlib/cache里面的两个缓存字体文件(C:\Users\你的用户名\.matplotlib 下的一个文件夹和一个文件,每次用到matplotlib时不存在会自动生成);

      (补充:解决方法都来自于前人经验、只是这几个步骤更适用于自己,所以进行相关记录备注!)

 

  五、正确效果:

        

 

posted on 2017-12-24 03:27  LI.TS  阅读(241)  评论(0编辑  收藏  举报