kaggle練習(xí)之Python中matplotlib()輸出圖表的label、title、legend中文亂碼問題與解決

設(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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容