Python中文画图乱码的解决方法

        在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行
Python中文画图乱码的解决方法_第1张图片
Python中文画图乱码的解决方法_第2张图片
#把dist变量重新编码为中文,比如chaoyang改为朝阳区。
district = {'fengtai':'丰台区','haidian':'海淀区','chaoyang':'朝阳区','dongcheng':'东城区','xicheng':'西城区','shijingshan':'石景山区'}
snd['district'] = snd.dist.map(district)

snd.district.value_counts()#value_counts()函数获取每城区出现的频次
Python中文画图乱码的解决方法_第3张图片

        用饼图表示上面各城区频次的结果( “ kind = ” 为图表类型,bar 为柱形图,pie 为饼图)

#snd.district.value_counts().plot(kind = 'bar')
snd.district.value_counts().plot(kind = 'pie') 

        我们得到的结果图是

Python中文画图乱码的解决方法_第4张图片

        各城区的中文名称都出现乱码,接着我们运行以下代码

#如遇中文显示问题可加入以下代码
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

        再次运行下面程序

snd.district.value_counts().plot(kind = 'pie') 

        得到的结果

Python中文画图乱码的解决方法_第5张图片

        我们可以发现,现在的已经可以正常显示中文。

参考书籍

《python数据科学:技术详解与商业实践》

你可能感兴趣的:(Python)