问题表现
使用 matplotlib 呈现出图片中文为方框□,表现如下所示
查找了以下解法:
from matplotlib.font_manager import FontProperties
# 指定字体路径
font_properties = FontProperties(fname="./SimHei.ttf")
plt.rcParams['font.family'] = font_properties.get_name()
但仍然没起作用,参考链接:A Guide on Using Unicode Characters in Matplotlib
解决方法
在 matplotlib 的字体目录下添加 SimHei.ttf 文件
[In]: matplotlib.get_data_path()
[Out]: xxx/anaconda3/envs/nl2python/lib/python3.10/site-packages/matplotlib/mpl-data
提前准备好 SimHei.ttf(很多地方可以下载)
mv SimHei.ttf xxx/anaconda3/envs/nl2python/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf/
同时在代码中指定
from matplotlib.font_manager import FontProperties
# 指定字体路径
font_properties = FontProperties(fname="./SimHei.ttf")
plt.rcParams['font.family'] = font_properties.get_name()
即可
完成后可显示如下: