Matplotlib:在图像上用中文进行标记时,不能显示中文,显示为方框

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_15969343/article/details/83542965

首先,博主的系统环境如下:

Win10 1709  教育版

Anaconda3-5.0.1-Windows-x86_64.exe

Python 3.6.3

Matplotlib 2.1.0

最近需要用中文在图像上注释图像的标签,没想到用Matplotlib绘制标签时候居然显示不出来,全部显示为方框。如下:

在网上搜索了一下,基本都是说用本地计算机C盘的字体来设置,但是这个方法我这边没有实现出来~~~但是基本可以确定是因为字体的关系,遂查看了pyplot能否更改字体,很不幸,并没有看到设置字体的属性。

故查阅了Matplotlib的官方函数API,看一下是否能够解决这个问题:

Matplotlib.pyplot官方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')

 

展开阅读全文

没有更多推荐了,返回首页