欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

解决matplotlib 显示中文乱码问题

程序员文章站 2022-03-20 23:31:21
...

使用matplotlib警告Font family未找到

matplotlib.pyplot.rcParams['font.sans-serif'] = ['SimHei']

警告:

UserWarning: findfont: Font family [u'sans-serif'] not found. Falling back to DejaVu Sans

  (prop.get_family(), self.defaultFamily[fontext]))

现象:画图时,中文显示乱码
已解决
具体解决方法如下:

(1)下载simhei.ttf ,放到指定目录下/home/hadoop/.pyenv/versions/2.7.10/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf目录中,

具体路径可以在python解释其中输入以下命令查看

    import matplotlib
    print matplotlib.matplotlib_fname()

(2)删除~/.cache/matplotlib的缓冲目录(里面的文件全部删除)
(3)修改/home/hadoop/.pyenv/versions/2.7.10/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc文件,修改如下:

 #   font.family         : sans-serif        
   # font.sans-serif     : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif 
    #axes.unicode_minus,将True改为False,作用就是解决负号'-'显示为方块的问题 
 ``

 

相关标签: python