When I draw a figure with Chinese Character label in Python 3, it doesn’t work correctly:
]
My code:
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')
Advertisement
Answer
You need to explicitly pass the font properties to legend
function using the prop
kwag:
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')