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

时间:2018-02-13 10:50:13

标签: python python-3.x matplotlib fonts emoji

我想在matplotlib中绘制Apple表情符号,所以我写了这段代码。 但是,我在设置字体时遇到无法设置字体大小的错误。 如果我没有设置字体,它将被绘制成下一个图像。 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")
  

文件" ./ emoji_test.py",第5行,

     

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

     

File" /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/matplotlib/font_manager.py" ;,第750行,在get_name中

     

return get_font(findfont(self))。family_name

     

RuntimeError:在FT2Font中:无法设置fontsize

1 个答案:

答案 0 :(得分:0)

使用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")

结果数字如下 enter image description here

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