首先来看一下没有解决问题前的样子~
设置横纵坐标以及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文件的开始配置,比较麻烦
如果这篇文章对你帮助的话帮我点个赞和关注喔~
Original: https://blog.csdn.net/weixin_45707277/article/details/118631442
Author: GeniusAng丶
Title: ubuntu解决matplotlib绘图中文显示问题
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/769047/
转载文章受原作者版权保护。转载请注明原作者出处!