設(shè)置自定義的中文字體
#用下載好的字體文件設(shè)置字體,從而正確在中顯示中文
myfont = matplotlib.font_manager.FontProperties(fname="Droid Sans Fallback.ttf")#同一目錄下,不同目錄改用絕對路徑
mpl.rcParams['axes.unicode_minus'] = False
導(dǎo)入csv文件
#-*-coding:utf-8-*-
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
data_train = pd.read_csv("/home/gg5d/下載/train.csv")
matplotlib()作圖,注意title()、xlabel()、ylabel()中設(shè)置字體的參數(shù)為fontproperties,legend()設(shè)置字體參數(shù)為prop
import matplotlib.pyplot as plt
fig = plt.figure()
fig.set(alpha=0.2)
fig.set_size_inches(18,10)
plt.subplot2grid((2,3),(0,0)) # 在一張大圖里分列幾個小圖
data_train.Survived.value_counts().plot(kind='bar')# 柱狀圖
plt.title(u"獲救情況 (1為獲救)",fontproperties=myfont) # 標(biāo)題
plt.ylabel(u"人數(shù)",fontproperties=myfont)
plt.subplot2grid((2,3),(0,1))
data_train.Pclass.value_counts().plot(kind="bar")
plt.ylabel(u"人數(shù)",fontproperties=myfont)
plt.title(u"乘客等級分布",fontproperties=myfont)
plt.subplot2grid((2,3),(0,2))
plt.scatter(data_train.Survived, data_train.Age)
plt.ylabel(u"年齡",fontproperties=myfont) # 設(shè)定縱坐標(biāo)名稱
plt.grid(b=True, which='major', axis='y')
plt.title(u"按年齡看獲救分布 (1為獲救)",fontproperties=myfont)
plt.subplot2grid((2,3),(1,0), colspan=2)
data_train.Age[data_train.Pclass == 1].plot(kind='kde')
data_train.Age[data_train.Pclass == 2].plot(kind='kde')
data_train.Age[data_train.Pclass == 3].plot(kind='kde')
plt.xlabel(u"年齡",fontproperties=myfont)# plots an axis lable
plt.ylabel(u"密度",fontproperties=myfont)
plt.title(u"各等級的乘客年齡分布",fontproperties=myfont)
plt.legend((u'頭等艙', u'2等艙',u'3等艙'),loc='best',prop=myfont)# sets our legend for our graph.
#注意legend函數(shù)設(shè)字體的參數(shù)跟title函數(shù)的不一樣
plt.subplot2grid((2,3),(1,2))
data_train.Embarked.value_counts().plot(kind='bar')
plt.title(u"各登船口岸上船人數(shù)",fontproperties=myfont)
plt.ylabel(u"人數(shù)",fontproperties=myfont)
plt.show()
結(jié)果如圖:

圖片.png