matplotlib中文显示为方框(Manjaro也适用与许多linux版本)

参考链接

Sail的博客

1.首先你先查看你的ttf的目录

比如我的是
/opt/anaconda/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf
你的可以通过运行一下Python代码来查询

import matplotlib
print (matplotlib.matplotlib_fname())
  • 如果你是查找目录的话,你还需要进入你查找的目录下,执行
cd /fonts/ttf

然后将你的黑体点击去下载字体放在里面去,你也可以从Windows中获取一个,Windows字体的路径在C盘 --Windows--Fonts,你可以通过邮件的方式,发送到你linux电脑

2.配置

首先删除~/.cache/matplotlib的缓冲目录
在这里插入图片描述
修改/opt/anaconda/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc文件(这里应该是前面查询的目录下的matplotlibrc文件),修改如下:

font.family         : sans-serif        

# 这里其实在最前面加上SimHei即可
font.sans-serif     : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif 
axes.unicode_minus,将True改为False,作用就是解决负号'-'显示为方块的问题

然后重启。

  • 然后在你画图的代码中,加入这几行,即可。
import matplotlib.pyplot as plt
font_name = 'SIMHEI' 
plt.rcParams['font.family'] = ['SimHei'] #用来正常显示中文标签 
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

最终效果
在这里插入图片描述

参考链接

Sail的博客

发布了31 篇原创文章 · 获赞 13 · 访问量 9897

猜你喜欢

转载自blog.csdn.net/qq_43497702/article/details/99892701