使用backend_pdf时,Matplotlib:表情符号字体不起作用

问题描述 投票:0回答:1

我想用emoji-font“Symbola.ttf”来标记我的情节。当我使用plt.show()时,这确实有效。但是在使用backend_pdf时它不起作用。只有两个表情符号以混合顺序显示。

example images:

当使用plt.show()时:

使用backend_pdf时:

example code:

这是我生成这些示例的代码:

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机器上运行它。

pdf matplotlib fonts emoji axis-labels
1个回答
0
投票

我想我已经找到了问题。似乎我的Symbola.ttf被打破了。当我使用这个.ttf file时,一切都很棒。

© www.soinside.com 2019 - 2024. All rights reserved.