matplotlib无法显示中文

2020/06/14 -
今天在jupyter中绘制图片,然后发现不能显示中文,这就很尴尬了。
然后百度搜了搜相关的信息,大致方法就是添加字体,然后修改配置。
我看他们的意思就是让他们最后成为默认字体。
但是,我测试了之后发现并不能实现。


大致上类似的都是这种
https://www.zhihu.com/question/25404709

修改相关配置文件,然后删除缓存。
最后在谷歌上搜索才解决了问题,主要参考文章
https://medium.com/@hoishing/using-chinese-characters-in-matplotlib-5c49dbb6a2f7

下面来说以下步骤。

  1. 找到字体font,我本身机器是使用的windows,但是是在服务器上利用jupyter,可以从windows上把字体拿出来然后放到相关路径。window的字体路径是c://windows/font,maplotlib的字体位置在库路径下的mpl-data文件夹下,文件夹下的matplotlibrc文件是配置文件,将字体放置到font文件夹下。
  2. 然后重建缓存,这个是必须要做的
import matplotlib.font_manager
matplotlib.font_manager._rebuild()
  1. 然后查看字体列表。
for f in matplotlib.font_manager.fontManager.ttflist:
  print f

我放置的字体包括仿宋和楷体。这两个打印出来的信息如下:


字体信息

经过这个之后,文章中是直接将font-family给设置了,但是我参考的其他很多文章都不是这么做的。
他们当时是下面的步骤

mpl.rcParams['font.family']=['sans-serif']
mpl.rcParams['font.sans-serif'] = ['KaiTi']

一开始我以为这个东西的名字是通过上传过去的字体文件来配置的,所以我每次都是设置的这个simkai,然后总是不对。
通过上面列表可以看到,其实是字体没有设置正确。
只需要按照上面列表中的字体名字来写就好了。

正好就是上面这个。
不过,我看知乎上很多内容都没有添加这个步骤,可能是设置成为了默认字体把,反正在我机器上没有成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值