我想用emoji-font“Symbola.ttf”来标记我的情节。当我使用plt.show()
时,这确实有效。但是在使用backend_pdf时它不起作用。只有两个表情符号以混合顺序显示。
当使用plt.show()
时:
使用backend_pdf时:
这是我生成这些示例的代码:
import matplotlib.backends.backend_pdf
import matplotlib.pyplot as plt
import emoji
from matplotlib.font_manager import FontProperties
emojis = [emoji.EMOJI_UNICODE[e] for e in list(emoji.EMOJI_UNICODE.keys())[620:630]]
prop = FontProperties(fname='./Symbola.ttf', size=30)
# backend_pdf plot
pdf = matplotlib.backends.backend_pdf.PdfPages("output.pdf")
plt.xticks(range(len(emojis)), emojis, fontproperties=prop)
pdf.savefig()
pdf.close()
# plt.show() plot
plt.xticks(range(len(emojis)), emojis, fontproperties=prop)
plt.show()
我在Linux机器上运行它。
我想我已经找到了问题。似乎我的Symbola.ttf被打破了。当我使用这个.ttf file时,一切都很棒。