l
Linux 服务器python画图中文乱码问题
网上针对linux服务器python教程的乱码解决方案相对较多,本次介绍的是博主实战成功的经验。
乱码问题原因:(1)python的matplotlib包中没有添加中文简体的包
(2)matplotlib配置文件中默认的语言中不包含中文语言
**解决方法:**第一步:查看matplotlib字体位置:(在服务器执行)
```
python
import matplotlib
print(matplotlib.matplotlib_fname())
```
博主的路径是:(/root/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc)
第二步:上传字体到服务器
字体 百度云:链接:https://pan.baidu.com/s/1vD6ZqDsm_mK2tijcSeJWZQ 提取码:cp49
将下载好的字体上传到服务器的包中,路径如下:
/root/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf
此路径是由第一步的路径变化而来
第三步:删除缓存
由于pthon在调用matplotlib会生存相对应的缓存文件,我们需要把他删除:
命令:(在服务器执行)
cd ~/.cache/matplotlib
rm -rf *
第四步:修改配置文件:(服务器执行)
vim /root/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc
将一下三句修改,并将 # 去掉:
font.family : sans-serif
...
font.sans-serif : SimHei
...
axes.unicode_minus : False # use unicode for the minus symbol
意思就是知道字库族为 sans-serif,同时添加“SimHei”即宋体到字库族列表中,同时将找 到axes.unicode_minus,将True改为False,作用就是解决负号’-‘显示为方块的问题。
第五步:重启ipython就可以啦,完成