python画图中文字体不显示的问题

4,339 阅读1分钟

  这个问题很常见,例如我们画一个饼状图。

import matplotlib.pyplot as plt

data = [89,95,60]
labels = ['甲','乙','丙']
plt.pie(data, autopct='%.2f%%',labels=labels)

plt.legend()
plt.show()

  代码看似很正常,但中文字体'甲','乙','丙'却一个也不显示,字体使用框表示。

  其实只需要加上几行代码,设置一下默认字体即可解决该问题,在同一程序中画更多的图都不会出现中文字体不显示的问题。

import matplotlib

#指定默认字体
matplotlib.rcParams['font.sans-serif'] = [u'SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False

  画出的图如下: