python画图,中文字体乱码,设置plt.rcParams不成功时

当jupyter输入以下内容,设置中文不成功事试试以下方法

plt.rcParams['font.sans-serif'] = ['SimHei']  # 黑体
plt.rcParams['axes.unicode_minus'] = False 

1. 查看是否需要上传simhei.ttf

cd ~/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf
ls -al | grep simhei 

如果没有,本地下一个everything软件,用 everything 搜索全局文件,找到 simhei.ttf,并将其上传到linux 的 matplotlib 的 fonts/ttf 文件夹

2.查看matplotlib配置文件位置并修改

import matplotlib
print(matplotlib.matplotlib_fname())

得到matplotlibrc的地址

*****/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

注:*****是去秘密,所以你输出是什么,你就用什么。

vim *****/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

键盘敲字母i,粘贴以下内容:

font.family:sans-serif
font.sans-serif:simHei
axes.unicode_minus:False  #解决负号'-'显示为方块的问题

键盘敲击 ESC键,英文输入 ”:wq“,保存输出

3.删除缓存,重新加载字体

import shutil
import matplotlib

shutil.rmtree(matplotlib.get_cachedir())

加载字体

from matplotlib.font_manager import _rebuild
_rebuild() 

4.测试

# -*- coding:utf-8 -*-
from matplotlib import pyplot as plt
plt.title(u'搞定')
plt.show()

出现
python画图,中文字体乱码,设置plt.rcParams不成功时_第1张图片

你可能感兴趣的:(python基础,python,开发语言)