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

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

ubuntu解决matplotlib绘图中文显示问题
设置横纵坐标以及title的时候全都是显示的方框,这让我们很苦恼,那有没有什么办法解决呢?

; 方法一

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

import matplotlib
matplotlib.matplotlib_fname()

ubuntu解决matplotlib绘图中文显示问题
3. 进入上述查出的路径
cd /home/daang/.local/lib/python3.8/site-packages/matplotlib/mpl-data

ubuntu解决matplotlib绘图中文显示问题
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 *

此时再次运行程序,就可以看到中文啦~

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

方法二

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

from pylab import mpl

mpl.rcParams["font.sans-serif"] = ["SimHei"]

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


mpl.rcParams["axes.unicode_minus"] = False

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

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

Original: https://blog.csdn.net/weixin_45707277/article/details/118631442
Author: GeniusAng丶
Title: ubuntu解决matplotlib绘图中文显示问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/769047/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球