我有 utf-8(印地语)词向量并想要可视化。它使用 t-SNE,我使用 matplotlib 的注释方法来绘制单词。
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
x = [1,2]
y = [4,2]
hindi_word = [u'के', u'है']
for i, txt in enumerate(hindi_word):
ax.annotate(txt, (x[i],y[i]))
ax.scatter(x,y)
它显示的是方框,而不是实际的单词“के”、“है”,如下图所示。如何打印实际的 utf-8 单词而不是方框。
最佳答案
您需要更改排版的字体。 标准字体不支持您想要的字符。 我在 matplotlib 中发现了一个可以解决问题的方法:Lohit Devanagari。我不确定这是唯一的可能性,这是第一个有效的。
在注释之前,添加此行以更改字体:
plt.rc('font', family='Lohit Devanagari')
Matplotlib 现在呈现正确的字符:
关于python - matplotlib 或 seaborn 中的 utf-8 字符打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43013971/