python画图显示中文加标题控制字体

之前在jupyter用seabron画图的时候一直显示不了中文,在中文前加u,也是不行中文都是正方形的格子,当时用的是python2.7,所以用的是以下的代码

import sys
# print sys.getdefaultencoding()
# ipython notebook中默认是ascii编码 
reload(sys)
sys.setdefaultencoding('utf8')

import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei'] #指定默认字体  
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
# sns.axes_style(),可以看到是否成功设定字体为微软雅黑。

sns.set_context("talk")

后来用python3好像就不好使了,因为reload(sys)这个跑不出来了,其实seaborn应该算是matplotlib的衍生,plt上控制显示中文,后面都会显示中文。画图之前加上这两行代码,就会显示中文,无论python2还是python3。

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
fig = plt.figure(figsize=(15,6))#设置画布大小
sns.distplot(df,bins = 40)#直方图,bins是直方图柱的数量
plt.xticks(np.arange(-10,10,1),fontsize=13)#x坐标轴刻度
plt.xlabel(u"横坐标",fontsize=20)#设置横坐标,以及字体大小
plt.ylabel(u"纵坐标",fontsize=20)#设置纵坐标,以及字体大小
plt.title(u"标题",fontsize=20)#设置标题,以及字体大小

 

 

你可能感兴趣的:(python)