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]))删除方法:
首先,进入对应文件夹:cd ~/.matplotlib/
然后删除该文件夹下的Fontlist.json文件,如果你的文件夹下还有fontlist-v300.json文件,也必须要删除。否则无效 -
修改代码
在你的pyth