當前利用python來進行科學計算的案例越來越多,不過我們在使用時,針對python對中文字體的支持很多時候,很難一次性配置完美。
通常的報錯信息是:findfont: Font family [‘sans-serif’] not found的錯誤
我也在最近重裝系統后碰到了;原因第一是中文字體缺失,第二是python 模塊配置問題。
如何解決呢?
1)此方法針對Simhei字體為例
我們可以百度搜索,將下載下來的字體解壓出來。或者從這個網址直接下載FontZone
(2)將字體文件復制到對應文件夾
針對Spyder或jupyter notebook,我們可以輸入以下命令,得到
import matplotlib
print(matplotlib.matplotlib_fname())
得到字體路徑,並將解壓出來的字體文件移動到字體路徑中,一般是:D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\mpl-data\fonts\ttf
(3)設置matplotlib配置文件
清空緩沖目錄里面的文件, 刪除 ~/.cache/matplotlib的緩沖目錄 (Windows內是 C:\Users\xxxxxx\.matplotlib)
修改D:\ProgramData\Anaconda3\lib\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內核就可以了,不用重啟電腦。
重啟python (jupyter notebook)
就是在CMD中重新加載jupter 就可以使用了。