如何在标签中绘制带有汉字的图形

时间:2016-09-22 05:29:21

标签: python python-3.x pandas matplotlib

当我在Python 3中绘制带有中文字符标签的图形时,它无法正常工作:

Screenshot]

我的代码:

fig = pd.DataFrame({
    '债券收益率':bond,
    '债券型基金收益率':bondFunds,
    '被动指数型基金收益率':indexFunds,
    '总收益率':ret})
fig.plot()
plt.legend(loc=0)
plt.title('债券收益率',
          fontproperties='SimHei',
          fontsize='xx-large')
plt.grid(True)
plt.axis('tight')

2 个答案:

答案 0 :(得分:4)

您需要使用legend kwag明确地将字体属性传递给prop函数:

from matplotlib import font_manager

fontP = font_manager.FontProperties()
fontP.set_family('SimHei')
fontP.set_size(14)

fig = pd.DataFrame({
    '债券收益率':bond,
    '债券型基金收益率':bondFunds,
    '被动指数型基金收益率':indexFunds,
    '总收益率':ret})
fig.plot()

# Note the next lines
plt.legend(loc=0, prop=fontP)
plt.title('债券收益率', fontproperties=fontP)

plt.grid(True)
plt.axis('tight')

Source

答案 1 :(得分:0)

试试这个:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # Or any other Chinese characters