• Matplotlib中文乱码问题


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

      二、场景代码:

          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 tf中的字体目录中;(下载地址:http://font.chinaz.com/940144340.htm
            7、删除
    .matplotlib/cache里面的两个缓存字体文件(C:Users你的用户名.matplotlib 下的一个文件夹和一个文件,每次用到matplotlib时不存在会自动生成);

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

      五、正确效果:

            

  • 相关阅读:
    opencv-0-项目启程
    [SketchUp]-绘制自己的家
    C51_PID 水温控制系统
    latex-列表环境
    nCOV 数据简要分析 (0326)
    引入OpenCV导致私有内存巨大
    【带着canvas去流浪(15)】threejs fundamentals翻译系列1-scene graph
    【一统江湖的大前端(9)】TensorFlow.js 开箱即用的深度学习工具
    【一统江湖的大前端(8)】matter.js 经典物理
    2019年12月前端面经及总结(西安,杭州)
  • 原文地址:https://www.cnblogs.com/lts-lts/p/8096097.html
Copyright © 2020-2023  润新知