当在MacBook上使用matplotlib绘制统计图表时,中文很可能会无法正常显示,如下图中图表文字部分的方块。
为了使之正常显示,许多人会参照别人的方法使用下述代码。但问题往往没能解决。原因是MacOS并没有SimHei这一字体。
plt.rcParams['font.sans-serif']=['SimHei']
Input:
print(plt.rcParams[ 'font.family'])
print(plt.rcParams['font.sans-serif'])
Output:
['sans-serif']
['DejaVu Sans', 'Bitstream Vera Sans', 'Computer Modern Sans Serif', 'Lucida Grande', 'Verdana', 'Geneva', 'Lucid', 'Arial', 'Helvetica', 'Avant Garde', 'sans-serif']
可以看到,matplotlib的字体家族为sans-serif,而sans-serif中并没有中文字体。
通过mpl.font_manager.fontManager.ttflist可以查看已有的字体。