如何在matplotlib中绘制(高质量)表情符号?

时间:2017-11-03 19:06:22

标签: python matplotlib plot emoji

我有以下字典:

a = {'❤': 10, '‍‍‍': 23, '': 13, '': 10, '': 13}

我想将表情符号绘制为条形图,然后在条形图上绘制它们。起初我确实喜欢hereannotate),但它看起来很糟糕,而且它不支持某些表情符号。

import matplotlib.pyplot as plt
ax = plt.subplot(111)
ax.bar(range(1,6), a.values())
for label, x, y in zip(a.keys(), range(1,6), a.values()):
    plt.annotate(
        label, 
        xy=(x, y), xytext=(10,10),
        textcoords='offset points', ha='right', va='bottom',
        bbox=dict(boxstyle='round,pad=0.5', alpha=0),
        fontname='Segoe UI Emoji',
        fontsize=20)

ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.set_xticks([])
plt.show()

正如我所说,看起来很糟糕:

enter image description here

如何使用matplotlib绘制emojis以使它们看起来很好?

最好的选择是在matplotlib中使用不同的字体来支持那些表情符号(我尝试使用plt.rcParams['font.family']的某些不同的值但没有成功)但是如果它不存在则图像也会起作用(但是怎么样?)

我不想开始网络抓取图片并标记它们(因为我很确定有人已经这样做了)。

我使用python 3,Spyder IDE,matplotlib版本2.0.2和anaconda。

有什么建议吗?

0 个答案:

没有答案