Matplotlib在Mac上的中文支持问题

解决Matplotlib作图时中文会显示为小方框的问题

网上有好几种方法,这里使用的是改默认字体的方式

1、找到matplotlib的文件存储路径,使用python

import matplotlib as mpl
print mpl.matplotlib_fname()
# 得到/usr/local/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibr

字体所在文件夹是mpl-data下的fonts/ttf

2、找到系统中的中文字体并复制到mpl的字体路径下,这里用的是Hiragino Sans GB,也可以自己下载

命令行下 cp 字体路径(字体有空格的话用引号括起来,比如'Hiragino Sans GB.ttc') /usr/local/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf

3、如果字体是ttc要在mpl的font_manager.py里注册ttc

font_manager.py在../matplotlib/这个路径下

找到一个叫get_fontext_synonyms的function, 在返回的'ttf'中加入'ttc',如下

def get_fontext_synonyms(fontext):
    """
    Return a list of file extensions extensions that are synonyms for
    the given file extension *fileext*.
    """
    return {'ttf': ('ttf', 'otf', 'ttc'),
            'otf': ('ttf', 'otf'),
            'afm': ('afm',)}[fontext]

4、修改mpl的配置文件

路径就是第一步中查到的文件,打开后找到font的设置

将font.sans-serif取消注释,在一系列字体最前面加上新增的中文字体的名字,比如Hiragino Sans GB

也就是将默认font-family(sans-serif)的默认字体变成中文字体

5、done

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值