matplotlib 与 seaborn 中出现中文乱码的解决方法,主要原因是没有适配的中文字体
-
下载SimHei 字体 下载链接 -
找到你的字体存放路径
在Python环境下
import matplotlib
matplotlib.get_data_path()
得到路径
/usr/local/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data
-
拷贝字体到该路径下的/fonts/ttf 文件夹下 -
修改matplotlibrc配置文件
vim matplotlibrc
修改以下内容
font.family : sans-serif
font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
- 删除用户目录下的
~/.cache/matplotlib 文件夹
rm -rf ~/.cache/matplotlib
rm -rf ~/.matplotlib
- 重启
Jupyter
plt.rcParams['font.family'] = ['SimHei']
sns.set_style({'font.sans-serif':['SimHei']})
常用config
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', 40)
pd.set_option('display.float_format', lambda x: '%.3f' % x)
plt.rcParams['font.family'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
sns.set_style({'font.sans-serif':['SimHei']})
|