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,也请保留该信息

彻底解决matplotlib中文乱码问题

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

Python matplotlib画图的中文显示问题

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

matplotlib.pyplot中文标题乱码

绘图的时候,部分原始代码如下,plt.plot(x1,y1) plt.xlabel("温度") plt.ylabel("湿度") plt.show()结果如下,标题乱码 根据网上查询的结果是,mat...
  • bhcgdh
  • bhcgdh
  • 2017年11月18日 13:24
  • 97

pandas 作图无法显示中文

最近开始使用 pandas 处理可视化数据,挖掘信息。但是在作图时遇到,无法显示中文的问题。下面这段代码是统计 fujian1.csv 文件中 City 所在列中各个城市出现次数的代码。可是作图直方图...

用Pandas作图

来自:http://cloga.info/python/2014/02/23/Plotting_with_Pandas/#wat_e_12612920-6fe4-464e-a2b0-3b1f13c1a...

Matplotlib输出中文显示问题

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

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

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

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

解决方式一: import matplotlib #1. 获取matplotlibrc文件所在路径 matplotlib.matplotlib_fname() #Out[3]: u'd:\\A...

pandas 做图显示中文标签

pandas 做图显示中文标签对于数据集,直接做图时, #coding:utf-8 from pandas import DataFrame df = DataFrame({"score":[80...

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

Python 中,matplotlib绘图无法显示中文的问题
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Pandas matplotlib 无法显示中文
举报原因:
原因补充:

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