Matplotlib:在图像上用中文进行标记时,不能显示中文,显示为方框
首先,博主的系统环境如下:
Win10 1709 教育版
Anaconda3-5.0.1-Windows-x86_64.exe
Python 3.6.3
Matplotlib 2.1.0
最近需要用中文在图像上注释图像的标签,没想到用Matplotlib绘制标签时候居然显示不出来,全部显示为方框。
在网上搜索了一下,基本都是说用本地计算机的字体来设置,但是这个方法我这边没有实现出来~~~但是基本可以确定是因为字体的关系,遂查看了pyplot能否更改字体,很不幸,并没有看到设置字体的属性。
故查阅了Matplotlib的官方函数API,看一下是否能够解决这个问题:
打开网站可以看到pyplot的各个函数,如下:
其中text函数是用来向图片中加文本注释的,但是text函数的参数中却并没有看到设置字体的参数~~~点击该函数:
可以看到txet函数还阔以接受Text的函数的参数,故继续点击如下:
可以看到,这时出现了我们想要的fontproperties属性,因为我们只需要使得该属性能够显示中文即可!我这边是设置成了黑体(SimHei),成功解决!如下所示:
原代码:
annotation.text(x, y + 8, caption, color='b', size=11)
替换为:
annotation.text(x, y + 8, caption, color='b', size=11, fontproperties='SimHei')