无法在 Matplotlib 中加载表情符号字体

Could not load the emoji font in Matplotlib

我想在 matplotlib 中绘制苹果表情符号,所以我写了这段代码。 但是,我在设置字体时收到无法设置字体大小的错误。 如果我不设置字体,它将像下一张图片一样绘制。 image of plotting emoji

我的系统是Mac OS X Sierra 10.12.6,我的matplotlib版本是2.0.2.

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

prop = FontProperties(fname='/System/Library/Fonts/Apple Color Emoji.ttc')
plt.rcParams['font.family'] = prop.get_name()

plt.annotate("", (0.5, 0.3), size=30)
plt.annotate("", (0.5, 0.8), size=30)
plt.savefig("emoji_test.png")

File "./emoji_test.py", line 5, in

plt.rcParams['font.family'] = prop.get_name()

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/matplotlib/font_manager.py", line 750, in get_name

return get_font(findfont(self)).family_name

RuntimeError: In FT2Font: Could not set the fontsize

使用 prop.get_family() 而不是 prop.get_name(),因为您设置的是 字体系列 而不是 字体名称

代码变为。

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

prop = FontProperties(fname='/System/Library/Fonts/Apple Color Emoji.ttc')
plt.rcParams['font.family'] = prop.get_family()

plt.annotate("", (0.5, 0.3), size=30)
plt.annotate("", (0.5, 0.8), size=30)
plt.savefig("emoji_test.png")

结果图如下

PS。该错误消息是由于已知问题引起的。参见 RuntimeError In FT2Font with NISC18030.ttf