Pandas matplotlib 无法显示中文

原创 2017年07月13日 00:40:56

Pandas 无法显示中文问题 解决方案

Pandas在绘图时,会显示中文为方块,主要原因有二:

  • matplotlib 字体问题
  • seaborn 字体问题

只需要在文件开始动态设置字体配置就可以了,但是要注意,字体设置可能需要尝试多次,比如我一开始设置的win10中的’SamKi’,但是运行结果仍然是中文显示方块,后来我换成了’KaiTi’才正常显示的中文,具体原因可能只是某种字体获取失败而已.(本部分最后有win自带中文字体表)


import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['KaiTi']
mpl.rcParams['font.serif'] = ['KaiTi']
# mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串

import seaborn as sns
sns.set_style("darkgrid",{"font.sans-serif":['KaiTi', 'Arial']})

运行效果展示

所有关于袁隆平教授的报告词频统计图

win自带中文字体

win默认自带中文字体

matplotlib 解决方案一 动态修改配置

代码和第一部分的前半部分一致


import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['KaiTi']
mpl.rcParams['font.serif'] = ['KaiTi']
# mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串

matplotlib 解决方案二 设置自定义字体

这种方式较为复杂,博主不建议这种方式:


import numpy as np
import pylab as pl
import matplotlib.font_manager as fm

myfont = fm.FontProperties(fname=r'D:\Fonts\simkai.ttf') # 设置字体
t = np.arange(0.0,2.0 * np.pi,0.01) # 自变量取值范围
s = np.sin(t) # 计算正弦函数值
z = np.cos(t) # 计算余弦函数值
pl.plot(t,s,label='正弦')
pl.plot(t,z,label='余弦')
pl.xlabel('x-变量',fontproperties=myfont,fontsize=24) #设置标签
pl.ylabel('y-正弦余弦函数值',fontproperties=myfont,fontsize=24)
pl.title('sin-cos函数图像',fontproperties=myfont,fontsize=32) #图像标题
pl.legend(prop=myfont)
pl.show()

运行结果展示
sin-cos图像

win自带字体库路径

  • C:\Windows\Fonts\ 内含大量字体
  • 注意在该文件夹下,字体文件的名字和其他文件夹下显示的不一致,请使用右键属性-常规中文件名,或者使用拷贝到其他文件夹后显示的字体文件名字

参考

版权声明:欢迎转载,共同学习,但请尊重版权,标明出处:http://blog.csdn.net/fontthrone https://blog.csdn.net/FontThrone/article/details/75042659

彻底解决matplotlib中文乱码问题

1.环境查看 a.系统版本查看 [hadoop@p168 ~]$ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)  b.系统中...
  • dgatiger
  • dgatiger
  • 2015-12-27 22:56:06
  • 30263

Matplotlib输出中文显示问题

声明:这是对别人经验的总结问题描述matplotlib绘制图像的时候显示中文时候,中文会变成小方格子。其实骂他plotlib是支持中文编码的,造成这个现象的原因是,matplotlib库的配置信息里面...
  • u010758410
  • u010758410
  • 2017-05-12 15:59:44
  • 6868

Linux环境下修改python matplotlib显示中文乱码方格

首先,在window系统的C:\Windows\Fonts下:找一个中文的字体,复制出来,一般都是ttf后缀格式的,如果不是,改成.ttf。 在Linux下进入Python命令提示符状态下: impo...
  • xexiyong
  • xexiyong
  • 2016-07-20 17:06:15
  • 2100

Python matplotlib画图的中文显示问题

Python matplotlib 默认不支持中文。代码中出现中文的话,图片中会显示乱码。其实这是由于matplotlib默认的字体库中,没有中文的字体库引起的。只要指定机器上的中文字体,即可解决这个...
  • American199062
  • American199062
  • 2016-06-16 11:46:51
  • 10234

Python 3下Matplotlib画图中文显示乱码的解决方法

Matplotlib是Python的一个很好的绘图包,但是其本身并不支持中文(貌似其默认配置中没有中文字体),所以如果绘图中出现了中文,就会出现乱码。在《用Python作科学计算》一书中,有一个最小二...
  • u012705410
  • u012705410
  • 2015-08-09 21:01:10
  • 14019

Python 中,matplotlib绘图无法显示中文的问题

Python 中,matplotlib绘图无法显示中文的问题
  • u013038499
  • u013038499
  • 2016-09-06 14:37:04
  • 11807

Python matplotlib绘图时汉字显示不正常

 Matplotlib是一个很好的作图软件,但是python下默认不支持中文,所以需要做一些修改,方法如下:1.在python安装目录的Lib目录下创建ch.py文件。文件中代码为:保存,以后通过以下...
  • qingchunlizhi
  • qingchunlizhi
  • 2017-03-02 09:43:44
  • 826

Matplotlib绘图汉字不能正常显示问题

Matplotlib绘图汉字不能正常显示问题Python matplotlib绘图,title、label和legend需要中文显示,但matplotlib默认不支持中文,中文显示乱码。 解决办法: ...
  • xq129
  • xq129
  • 2016-09-28 14:03:01
  • 1692

Python pandas plot输出图形中显示中文乱码问题

解决方式一: import matplotlib #1. 获取matplotlibrc文件所在路径 matplotlib.matplotlib_fname() #Out[3]: u'd:\\A...
  • zzsg2005
  • zzsg2005
  • 2017-09-22 17:13:51
  • 1339

pandas 作图无法显示中文

最近开始使用 pandas 处理可视化数据,挖掘信息。但是在作图时遇到,无法显示中文的问题。下面这段代码是统计 fujian1.csv 文件中 City 所在列中各个城市出现次数的代码。可是作图直方图...
  • u012675539
  • u012675539
  • 2016-05-11 23:54:25
  • 3384
收藏助手
不良信息举报
您举报文章:Pandas matplotlib 无法显示中文
举报原因:
原因补充:

(最多只允许输入30个字)