300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Matplotlib:在图像上用中文进行标记时 不能显示中文 显示为方框

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

时间:2019-04-02 20:15:48

相关推荐

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

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

1.问题背景

2.解决方法

1.问题背景

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

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/api/_as_gen/matplotlib.pyplot.html#module-matplotlib.pyplot

2.解决方法

打开网站可以看到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')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。