【发布时间】:2018-03-01 09:57:14
【问题描述】:
我想使用表情符号字体“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 机器上运行它。
【问题讨论】:
标签: pdf matplotlib fonts emoji axis-labels