Matplotlib中使用savefig()保存Unicode文本时出现问题

3

我刚开始使用matplotlib,尝试在二维/三维图表中插入非ASCII文本。我可以使用show()函数在屏幕上显示:

plt.text(X, Y, str(text[i].decode('utf-8')) )
plt.show()

然而,当我尝试使用savefig()将图形保存到文件时,所有文本都变成了小方块[]

我确定这是与字体相关的问题,但我无法弄清楚如何解决。

我的操作系统是Mac OSX 10.10.5,如果有关系的话。


可能是重复的问题:https://dev59.com/DGgu5IYBdhLWcg3w8bhs - Bernhard
谢谢,我在谷歌上搜索了那个问题,但是尝试了建议的字体却没有成功。 - Wei
是的,这在很大程度上取决于您的Unicode字符和字体的字符映射。例如,Arial字体不会有任何汉字的字形。 - Bernhard
1个回答

1

finally solved it by using:

fontpath = '/Library/Fonts/华文细黑.ttf'
properties = font_manager.FontProperties(fname=fontpath)
matplotlib.rcParams['font.family'] = properties.get_name()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接