美文网首页技术宅
python之matplotlib中文乱码的解决办法

python之matplotlib中文乱码的解决办法

作者: ctycheer | 来源:发表于2018-03-18 16:19 被阅读7次

    一、 解决字体问题

    很多文章都讲了matplotlib中文乱码的问题,但是有一个关键问题忽略了,就是字体拷贝的问题,这也是我会写这篇简书的原因。
    我的环境:

    os:deepin15.5 64位
    python:anaconda2

    1. 找到win7下的字体
      我找到的字体是 “ 仿宋GB2312.tff”,
      重点
    • 字符名并不是“仿宋GB2312.tff”,这是我总是出差的根源,打开该tff文件查看
    • vim 仿宋GB2312.tff 虽然大部分是乱码,但是还是可以看见“(C) Copyright GreatWall Computer Co. 1994FangSong_GB2312RegularFangSong_GB2312”的字样,记住了说明这个字体的名称是“FangSong_GB2312”
    1. 拷贝字体
    • 找到matplotlib的字符路径
      我的环境是“anaconda2/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/tff”
      如果你不知道,可以ipython下用下面的命令找到matplotlibrc文件,fonts文件夹和这个文件同目录
    >>> import matplotlib
    >>> print matplotlib.matplotlib_fname()
    

    二、 执行时用配置的方法解决中文问题

    这部分很多文章讲了,这里就简单一点

    mpl.rcParams['font.sans-serif'] = ['FangSong_GB2312']
    

    如果出现

    UserWarning: findfont: Font family [u'sans-serif'] not found
    

    这是字符名称没找到的问题, 请参考第一部分

    三、修改配置文件,解决问题

    请参考:

    相关文章

      网友评论

        本文标题:python之matplotlib中文乱码的解决办法

        本文链接:https://www.haomeiwen.com/subject/rnieqftx.html