在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数据科学:技术详解与商业实践》