我在miniconda虛擬環境中使用Python 3上的matplotlib版本2.0.0。我正在研究一個unix科學計算羣集,我沒有root權限。我通常通過ipython筆記本執行python代碼。如果我做一個基本的命令,例如:Matplotlib找不到基本字體
import matplotlib.pyplot as plt
plt.scatter([1,5], [1,5])
我得到一個錯誤信息:
path_to_miniconda/miniconda3/envs/conda34/lib/python3.4/site-
packages/matplotlib/font_manager.py:1297: UserWarning: findfont: Font family
['sans-serif'] not found. Falling back to DejaVu Sans
(prop.get_family(), self.defaultFamily[fontext]))
我想能夠使用Times New Roman字體,但即使刪除字體緩存文件後(fontList.py3k.cache),我從這裏找到:
import matplotlib as mpl
fm = mpl.font_manager
fm.get_cachedir()
的命令:
mpl.rcParams['font.family'] = ['serif']
mpl.rcParams['font.serif'] = ['Times New Roman']
沒有效果,我得到了與上面相同的錯誤。該True Type字體目錄:
path_to_miniconda/miniconda3/ENVS/conda34/lib中/ python3.4 /站點包/ matplotlib/MPL-數據/字體/ TTF/
只中有40種的字體類型:DejaVuSerif,DejaVuSans,STIX,cmb,cmt,cmy
任何想法可能會發生什麼以及如何添加其他字體?謝謝!
我有同樣的問題。感謝您的提示fm.get_cachedir(),我正在擦除錯誤的緩存,現在它工作!謝謝:) –