首页 Paddle框架 帖子详情
解决matplotlib使用中文
收藏
快速回复
Paddle框架 问答深度学习 72216 148
解决matplotlib使用中文
收藏
快速回复
Paddle框架 问答深度学习 72216 148

最近想在aistudio上用matplotlib上画一些图,但是考虑到用户群体,图上的标题、标签等还是需要显示成中文。

网上有很多matplotlib显示中文的教程,照着做了,但是遇到了一个很棘手的问题。一般都需要将字体放到/usr/share/fonts和matplotlib字体路径下。aistudio处于安全的考虑,字体文件路径是没有写权限的。这样一来网上所有的教程都成了摆设。

带着这个问题就在平台项目里找,在论坛里找,都没有找到。发现了一个有趣的现象,aistudio公开的项目里用到matplotlib的都是英文,没有发现使用中文的。

折腾了几天,还是找到了一种方法可以完美的解决。

我在项目里面写明了步骤,大家可以看一下。

https://aistudio.baidu.com/aistudio/projectdetail/390895

 

字体地址更换了:https://imgkr.cn-bj.ufileos.com/bfb1dc37-334c-4896-b9f4-fae0ea172328.ttf

记得重命名字体为simhei.ttf

 

感谢@doubi渣渣 提供的字体库,有需要的朋友可以自行下载

https://gitee.com/mirrors/noto-cjk/

7
收藏
回复
全部评论(148)
时间顺序
AIStudio810258
#2 回复于2020-04

感谢分享。

0
回复
AIStudio810258
#3 回复于2020-04

看了下,主要是导入字库。是吧

0
回复
AIStudio810258
#4 回复于2020-04

考虑过其他支持中文的库么?

0
回复
阿斯顿aaC
#5 回复于2020-04
考虑过其他支持中文的库么?

什么下载需要的字体库,然后放入指定的路径就可以

0
回复
阿斯顿aaC
#6 回复于2020-04
看了下,主要是导入字库。是吧

还在继续完善更好的方案

0
回复
阿斯顿aaC
#7 回复于2020-04
考虑过其他支持中文的库么?

这个需要再试一下

0
回复
AIStudio810258
#8 回复于2020-04

visualDL研究过没?这个很好用。

0
回复
水水水的老师
#9 回复于2020-04

哈哈

0
回复
水水水的老师
#10 回复于2020-04

导入字库就解决了

0
回复
阿斯顿aaC
#11 回复于2020-04
visualDL研究过没?这个很好用。

之前没有用过,不过你都这么推荐了,那我需要好好研究一下了

0
回复
阿斯顿aaC
#12 回复于2020-04
导入字库就解决了

什么意思呢?有更简单的方法?

0
回复
thinc
#13 回复于2020-04

我昨天也遇到类似情况,解决办法是在win10(我自己电脑)导入字体到ai studio中,然后设置一下matplotlib的字体

myfont = matplotlib.font_manager.FontProperties(fname='/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/MSYH.TTC')

最后在需要用到的时候指定参数即可

plt.title(u"莺尾花花瓣长度与宽度分布图", fontproperties=myfont)
0
回复
阿斯顿aaC
#14 回复于2020-04
thinc #13
我昨天也遇到类似情况,解决办法是在win10(我自己电脑)导入字体到ai studio中,然后设置一下matplotlib的字体 [代码] 最后在需要用到的时候指定参数即可 [代码]

这是文中提到的第一种方法,文中讲的第二种方法可能更高效一些

0
回复
AIStudio810260
#15 回复于2020-04

第一个办法繁琐在,标题、值、图例的中文要分别设置

0
回复
阿斯顿aaC
#16 回复于2020-04
第一个办法繁琐在,标题、值、图例的中文要分别设置

繁琐的好处就是可定制性高,你可以为标题、值、图例的中文分别设置不同的字体

0
回复
水水水的老师
#17 回复于2020-04
什么意思呢?有更简单的方法?

哈哈 有

0
回复
AIStudio810258
#18 回复于2020-04
繁琐的好处就是可定制性高,你可以为标题、值、图例的中文分别设置不同的字体

也没多繁琐,就是复制粘贴。不同字体还可区分下。

0
回复
阿斯顿aaC
#19 回复于2020-04
也没多繁琐,就是复制粘贴。不同字体还可区分下。

非常熟悉matplotlib还好,不太熟悉的话针对个别图字体属性不好加,比如饼图

0
回复
AIStudio810260
#20 回复于2020-04
繁琐的好处就是可定制性高,你可以为标题、值、图例的中文分别设置不同的字体

这种需求应该不多。。。

0
回复
AIStudio810260
#21 回复于2020-04
非常熟悉matplotlib还好,不太熟悉的话针对个别图字体属性不好加,比如饼图

是的!

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户