ubuntu解决matplotlib绘图中文显示问题

12 篇文章 1 订阅

首先来看一下没有解决问题前的样子~

在这里插入图片描述
设置横纵坐标以及title的时候全都是显示的方框,这让我们很苦恼,那有没有什么办法解决呢?

方法一

比较推荐方法一,一次解决,永久受益,后续不用再设置
1.首先下载Simhei.ttf,这里不给下载链接了请自行百度
2.查询matplotlibrc路径

import matplotlib
matplotlib.matplotlib_fname()

在这里插入图片描述
3. 进入上述查出的路径

cd /home/daang/.local/lib/python3.8/site-packages/matplotlib/mpl-data

在这里插入图片描述
4. 修改matplotlibrc

vim matplotlibrc

修改内容

font.family : sans-serif
font.sans-serif : SimHei
axes.unicode_minus : False

找到上述三项,并修改冒号后面的内容,同时把注释(#)去掉,保存

5.接下来进入到fonts/ttf文件夹,将Simhei.ttf移动到这里

/home/daang/.local/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf

将刚刚下载的Simhei.ttf移动到这里

mv simhei.ttf /home/daang/.local/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf/SimHei.ttf

此处要注意下载的大多都是小写命名,移动的时候首字母改为大写SimHei
6. 返回主目录,清除matplotlib缓存

cd ~
cd .cache/matplotlib/
rm -r *

此时再次运行程序,就可以看到中文啦~
在这里插入图片描述

方法二

在Python脚本中动态设置matplotlibrc,这样也可以避免由于更改配置文件而造成的麻烦,具体代码如下

from pylab import mpl
# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]

有时候,字体更改后,会导致坐标轴中的部分字符无法正常显示,此时需要更改axes.unicode_minus参数

# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False

此处还是推荐方法一,方法二要每次在python文件的开始配置,比较麻烦

如果这篇文章对你帮助的话帮我点个赞和关注喔~

  • 11
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GeniusAng丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值