AI Studio使用Matplotlib画图快速显示中文
背景
众所周知,使用Matplotlib画分析图经常会遇到一个全局中文显示为乱码的问题,我们当然可以使用font属性办法临时调用,但是font属性有着局限性,你不得不为了它去记住非常多的调用函数,而且不一定生效。更多的情况下我们使用的是本地增加TTF的办法,那么对于AI Studio来说,我就在想是不是也可以用这个办法?
结论
先说结论:
- 当然可以。
- 缺点就是每次使用都要重新配置(不过这也没办法,AI Studio又不是传统意义上的Ubuntu服务器)。
快速设置办法
-
下载SimHei.ttf。(我用的这个,当然你也可以用其他的)下载链接
-
直接主目录上传下载好的SimHei.ttf和我修改好的FontList.json。(链接在文档末尾给出)
- FontList.json修改示例,其实就是在ttflist条目里仿照着上下的格式修改或者增加一个"SimHei"条目:
2)当然,你也可以上传其他字体到你喜欢的任何目录,但是需要注意的一点是:
!!修改的目录以及字体文件名称必须和上传的完全一致。!!
**(可选)**完成后检查一下自己的文件和目录是否和上面完全一致
检查办法,在AI Studio中新建一个终端,输入pwd和ls,检查有无类似以下高亮输出。
- 在这之后在Notebook里输入以下Code("!"表示命令模式,可以简单使用一部分Ubuntu指令)然后运行一下。
!rm /home/aistudio/.cache/matplotlib/fontList.json
!cp /home/aistudio/fontList.json /home/aistudio/.cache/matplotlib/
第一条指令表示删除原有的字体列表缓存文件,第二条表示替换成我们的字体列表缓存文件。
以后每次重新启动AI Studio 都首先需要运行这两条命令 - 完成后,点击 这个重启代码片图标刷新一下缓存,再次运行代码,即可显示中文。
- 2023.05.16补,如果长时间没有打开aistudio环境。.cache文件夹会被清理,故如果前两条命令报错No file or directory。则需要重新运行一遍matplotlib程序重新生成cache文件夹(也就是先画一遍图)
总结
1.有的人可能会说为什么不去python->site-packages->matplotlib->mpl-data->fonts->ttf里添加,请注意,我们这里使用的是AI Studio免费平台,我们并没有修改/opt/目录永久文件的权限,那也就是每次都要添加修改,这种把ttf和fontlist.json存在主目录里的办法,后续使用只需要每次使用前输入第3步那两条控制命令再刷新一下即可。
2.当然你也可以在主目录里[/home/aistudio]装个anaconda 并且修改~/.bashrc文件,使默认调用自己的anaconda,而非aistudio默认目录[opt/conda/],然后仿照总结1 的办法再来一次。
资源链接:https://pan.baidu.com/s/11LyjVNoPqSPuXGEqZ84jPQ?pwd=q1f3
提取码:q1f3