python画图显示中文_ubuntu16.04中解决matplotlib画图中文无法显示问题

Python的matplotlib包在设计之初并未考虑到中文字体显示的问题,因此需要自己将中文字体加入到matplotlib字体文件夹中,解决用matplotlib画图不显示中文字的问题。

问题出现

Python包matplotlib中文显示存在问题,如图:

3269003036.png

可以看到底下本来想显示“11点0分”的中文字体都不显示。

1673471436.png

解决步骤

1. 下载字体

第一步,下载simhei.ttf字体(网络搜索直接有很多可供下载)。

我的下载字体过程参照了python ubuntu matplotlib 无法显示中文 中提到过程,供参考,下载解压后得到msyh.ttf文件。

接下来我这里就以msyh.ttf文件例子继续讲解。

2. 字体文件移入matplotlib字体文件夹

首先,找到matplotlib字体文件夹。方式是:打开python,用下列命令可以找到matplotlib的安装位置,如下图:

import matplotlib

print(matplotlib.__file__)

1535908099.png

可见,我需要将msyh.ttf文件拷入/home/corina/.local/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf/里面,ubuntu可视化窗口操作如下:(因为我的是/.local/,我这里需要用ctrl+h将桌面可视化窗口中的隐藏文件显示出来)

837122138.png

依据上述路径找到ttf文件夹,复制进来,如图:

3120341334.png

3. 删除matplotlib缓存文件

找到自己的缓存文件,可以在python中通过以下命令找到自己的matplotlib缓存文件夹,如下图:

import matplotlib

print(matplotlib.get_cachedir())

1925346327.png

按路径找到了,删除它们,如下图:

2163225984.png

4. 重启python

5. 使用pyplot画图之前加入命令

plt.rcParams['font.family'] = ['Microsoft YaHei']

plt.rcParams['axes.unicode_minus'] = False

如图:

3388951650.png

以下就是解决后的效果啦:

1146299631.png

后记

我查了很多方法,以上方式是不需要操作vi的。感谢很多IT小伙伴分享自己的经验。本文解决过程参见:python ubuntu matplotlib 无法显示中文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值