在Python畫圖時,我們一般希望在圖中添加中文標籤或者變量名稱,這樣可以增強我們圖形的可讀性,可是在Python中有時會出現了亂碼。
下面舉出一個例子說明如何解決中文亂碼的問題。
import pandas as pd
import os
os.chdir(r'F:\Python_book\4Describe')
snd = pd.read_csv("sndHsPr.csv")
snd.head() #前5行
snd.tail() #後5行
#把dist變量重新編碼爲中文,比如chaoyang改爲朝陽區。
district = {'fengtai':'豐臺區','haidian':'海淀區','chaoyang':'朝陽區','dongcheng':'東城區','xicheng':'西城區','shijingshan':'石景山區'}
snd['district'] = snd.dist.map(district)
snd.district.value_counts()#value_counts()函數獲取每城區出現的頻次
用餅圖表示上面各城區頻次的結果( “ kind = ” 爲圖表類型,bar 爲柱形圖,pie 爲餅圖)
#snd.district.value_counts().plot(kind = 'bar')
snd.district.value_counts().plot(kind = 'pie')
我們得到的結果圖是
各城區的中文名稱都出現亂碼,接着我們運行以下代碼
#如遇中文顯示問題可加入以下代碼
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默認字體
mpl.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負號'-'顯示爲方塊的問題
再次運行下面程序
snd.district.value_counts().plot(kind = 'pie')
得到的結果
我們可以發現,現在的已經可以正常顯示中文。
參考書籍
《python數據科學:技術詳解與商業實踐》