我在macOS上使用Python 3.4。Matplotlib应该支持标签中的Unicode,但我没有看到表情符号被正确地渲染。
import matplotlib.pyplot as plt
# some code to generate `data` and `labels`...
plt.clf()
plt.scatter(data[:, 0], data[:, 1], c=col)
# disclaimer: labeling taken from example https://dev59.com/3G435IYBdhLWcg3w50f4
for label, x, y in zip(labels, data[:, 0], data[:, 1]):
plt.annotate(
label, # some of these contain Emojis
xy=(x, y), xytext=(-20, 20),
textcoords='offset points', ha='right', va='bottom',
bbox=dict(boxstyle='round,pad=0.5', fc='yellow', alpha=0.5),
arrowprops=dict(arrowstyle = '->', connectionstyle='arc3,rad=0'))
plt.show(False)
一些旧的Unicode表情符号以其旧样式出现,但其他表情符号(例如“火”,“音乐”等)则不会。有什么技巧可以使它们正确显示吗?