zoukankan      html  css  js  c++  java
  • 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时不存在会自动生成);

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

      五、正确效果:

            

  • 相关阅读:
    redis基本介绍搭建篇
    Percona XtraDB Cluster集群
    path模块
    vue相关
    Vue首页加载过慢 解决方案
    从用户输入url到页面最后呈现 发生了些什么?
    cookie
    javascript中怎么判断对象{}为空
    jquery之stop()的用法
    跨域
  • 原文地址:https://www.cnblogs.com/lts-lts/p/8096097.html
Copyright © 2011-2022 走看看