我尝试将字体Open Sans导入:
import matplotlib as mpl
#update matplotlibrc
mpl.rcParams['font.family'] = 'Open Sans'
#testplot
import matplotlib.pyplot as plt
plt.plot(range(10))
plt.title('Everything is crazy!!!', size=32)
plt.show()
如果我想绘图,matplotlib无法找到该字体,给出如下错误消息:
/usr/lib/pymodules/python2.7/matplotlib/font_manager.py:1236: UserWarning: findfont: Font family ['Open Sans'] not found. Falling back to Bitstream Vera Sans
(prop.get_family(), self.defaultFamily[fontext]))
/usr/lib/pymodules/python2.7/matplotlib/font_manager.py:1246: UserWarning: findfont: Could not match :family=Bitstream Vera Sans:style=normal:variant=normal:weight=light:stretch=normal:size=medium. Returning /usr/share/matplotlib/mpl-data/fonts/ttf/cmb10.ttf
UserWarning)
字体安装在Ubuntu中,所有OpenSans - * .ttf文件也被复制到matplotlib文件夹(/ usr / share / matplotlib / mpl-data / fonts / ttf / Ubuntu)。 任何想法如何在matplotlibrc中使用该字体?
答案 0 :(得分:3)
好的,这是一个老问题,但我刚安装了Open Sans以便在Matplotlib中使用:
OP遵循了正确的步骤,除了需要强制Matplotlib字体缓存重建。最简单的方法:
from matplotlib import font_manager
font_manager._rebuild()
注意,除了在Linux上,以及上面讨论的字体路径,Matplotlib似乎也在〜/ .fonts中搜索,所以你可以在那里安装字体。