python3 使用matplotlib画图出现中文乱码的情况

python3使用matplotlib画图,因python3默认使用中unicode编码,所以在写代码时不再需要写 plt.xlabel(u’人数’),而是直接写plt.xlabel(‘人数’)。

注意:
在有中文的地方加上中文相关的字体,不然会因为没有字体显示成放框,因为默认的使用的字体里没有中文的,使用例子如下:

# -*- coding: utf-8 -*-
import pandas as pd
import numpy as np
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
from pylab import *

data_train=pd.read_csv("../train.csv")

fig=plt.figure()
fig.set(alpha=0.6)

#plt.subplot2grid((2,3)(0,0))
data_train.Survived.value_counts().plot(kind="bar")
#防止中文乱码
zhfont1 = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\simsun.ttc')
plt.title("获救情况(1为获救)",fontproperties=zhfont1)
plt.ylabel("人数",fontproperties=zhfont1)
plt.show()

上述阴影部分是必不可少的,效果为:

 


posted @ 2017-06-05 11:40  nolonely  阅读(8246)  评论(0编辑  收藏  举报