python matplotlib 图片显示中文

您所在的位置:网站首页 找一个代码的图片 python matplotlib 图片显示中文

python matplotlib 图片显示中文

#python matplotlib 图片显示中文| 来源: 网络整理| 查看: 265

在Linux 环境中,使用matplotlib 显示中文时,总是提示:

/python/stock.py:273: UserWarning: Glyph 33647 (\N{CJK UNIFIED IDEOGRAPH-836F}) missing from current font.   fig.savefig(self.name + ".jpg", bbox_inches = 'tight')

检查了下, 是使用matplotlib 显示标题时使用了中文,而python中的matplotlib 找不到字体。

解决办法: 

1 从windows 系统中拷贝字体库到linux系统中。

windows 字体库在系统盘 Windows\Fonts目录中,可以选择自己想要使用的中文字体。我选择的是微软雅黑。

   

 注意,这里显示的不是文件,右键复制到另外一个目录中,会发现是三个文件。

 将这三个文件上传到linux目录中。

然后在此目录中执行如下命令

mkfontscale

mkfontdir

fc-cache

执行完毕后,可以使用fc-list | grep msyh 检查是否安装成功。

2. 在python程序中指定字体

安装字体后,还需要在python 的程序代码使用matplotlib时指定字体,要不然代码不知道该用啥。

import matplotlib

matplotlib.rc("font", family = "Microsoft YaHei”)

或者

matplotlib.rcParams['font.sans-serif']=['Microsoft YaHei']

两个选择一个就可以。

3. 经过的一个坑。

第一次按照上述配置完成后,执行时仍报相同的错误。

到linux系统用户的home中,./.cache/matplotlib目录中有一个json文件,查看这个文件没有找到安装的YaHei字体,但fc-list 命令看到字体是已经安装好的。

解决办法: 到.cache目录中,mv matplotlib matplotllib.bk 或者直接删除这个目录即可。

然后重新执行程序就OK了。

此时再次查看这个json文件,就能看到Yahei字体的信息了。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3