在matplotlib中使用savefig()时的unicode文本

时间:2015-09-23 10:17:58

标签: python matplotlib scikit-learn

我是matplotlib的新手并尝试在其中绘制带有非ASCII文本的2D / 3D图表,我可以使用show()在屏幕上绘图:

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

然而,当我尝试将图形保存到文件中时 savefig(),所有文字都变成小方格[]

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

我在Mac OSX 10.10.5上,如果这很重要。

1 个答案:

答案 0 :(得分:1)

最终通过使用:

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