解决Jupyter Notebook中使用 matplotlib作图时中文标题无法显示或出现乱码

解决Jupyter Notebook中使用 matplotlib作图时中文无法显示或出现乱码

解决Jupyter Notebook中使用 matplotlib作图时中文标题无法显示或出现乱码_第1张图片
在这里插入图片描述
解决方法:
1、首先使用以下方法找到一个目录:

import matplotlib
matplotlib.matplotlib_fname()

得到目录:

'/root/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc'

2、下载需要的字体simhei.ttf添加到上述目录下。
解决Jupyter Notebook中使用 matplotlib作图时中文标题无法显示或出现乱码_第2张图片
3、在代码行添加以下代码:

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname="/root/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/simhei.ttf")
plt.rcParams['font.sans-serif']=['simhei']

4、作图时,需要用到中文的地方:

plt.title(title,fontproperties=font)
plt.xlabel(x_name,fontproperties=font)
plt.ylabel(y_name,fontproperties=font)

5、另外如有横轴有中文刻度时,需要在此处加入参数:

plt.xticks(rotation=rotation,fontproperties=font)

6、若有使用图例,则需要在legend中加入参数prop为font:

plt.legend(prop=font)

7、词云图报错:OSError 图像显示为方框
解决方法:将wordcloud中参数font_path设置为如下即可:(当然前提是已做上面的步骤,该路径有该字体)

font_path = "/root/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/SimHei.ttf"

参考博客:https://blog.csdn.net/abcdrachel/article/details/96426808

你可能感兴趣的:(python)