在使用Python进行图像绘制的时候,如果标注中文很有可能会导致文字无法显示。
情况如下图所示
产生这种问题的原因是matplotlib 默认字体通常不包含中文字符,因此直接使用中文标签会显示为方块。
解决这个问题其实很简单:只需要在原先的代码上添加以下代码即可。
import platform
# 自动选择适合当前操作系统的中文字体
def get_chinese_font():
system = platform.system()
if system == 'Windows':
return ['SimHei', 'WenQuanYi Micro Hei', 'Heiti TC']
elif system == 'Darwin': # macOS
return ['Heiti TC', 'SimHei', 'WenQuanYi Micro Hei']
else: # Linux 及其他系统
return ['WenQuanYi Micro Hei', 'Heiti TC', 'SimHei']
# 设置中文字体
plt.rcParams["font.family"] = get_chinese_font()
效果如下: