matplotlib字体问题
#技术
#python
问题表现: 在matplotlib中,尝试使用中文时,会出现中文变成方块的问题。
解决方案:
plt.rcParams['font.sans-serif'] = ['PingFang SC', 'Heiti SC', 'Arial Unicode MS']
plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
原理: 问题出现的原因是,matplotlib默认使用的字体不包含中文,因此指定使用SimHei这一个一般设备上都有的中文字体就能解决。
但是,matplotlib使用的符号-是Unicode minus U+2212。一般而言,中文字体很可能不包含这个字符。设置参数axes.unicode_minus = False后,matplotlib将会使用ASCII的负号取代Unicode负号。问题遂解决。