MacOS Matplotlib中文显示乱码/方块解决方法
【版本:python3.6】
- 首先进入
/Users/jc/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf
目录下查看是否有汉字字体,如SimHei.ttf,若无,则先将字体下载并放入上述目录下,下载链接如下:
http://www.fontpalace.com/font-download/SimHei/
【注】我是用的anaconda,所以ttf路径如上,若不用anaconda,则将字体下载到:
你的python对应的:site-packages\matplotlib\mpl-data\fonts/ttf即可。
-
修改matplotlibrc配置文件:
进入上述路径中的mpl-data文件夹,找到matplotlibrc文件并做如下修改
#font.family :sans-serif
#font.sans-serif : SimHei, DejaVu Serif……(将SimHei加到最前面)
#axes.unicode_minus,将True改为False (这里是关于负号显示的) -
清空缓存
一定要清空matlibplot加载字体的缓存,否则加载时必然会报找不到字体的错,
如:
UserWarning: findfont: Font family [‘sans-serif’] not found. Falling back to Bitstream Vera Sans (prop.get_family(), self.defaultFamily[fontext]))