解决matplotlib使用中文
收藏
最近想在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
收藏
感谢分享
加上这俩句就行了
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
好像没太大作用吧
平台又更新了吗?不用那么麻烦了吗?
这个在AI Studio上不行
饼图会加了,可是好像直方图又和饼图不一样?请问plt.bar()中文横坐标乱码应该改哪里?
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False
直方图这个是最普通的方式,plt.xlabel和plt.ylabel来配置属性。详细可以参考matplotlib官方文档
参考https://matplotlib.org/api/_as_gen/matplotlib.pyplot.ylabel.html?highlight=ylabel#matplotlib.pyplot.ylabel
参照Day3的就可以了
奥对,加上import matplotlib as plt
plt.xlabel可以设置的是中文坐标轴的名称,但是请问这种情况坐标轴怎么显示中文呢?
你这个是刻度的中文显示,使用plt.xticks
针对你的问题写了教程,可以fork后运行查看
https://aistudio.baidu.com/aistudio/projectdetail/441955
感谢!彻底解决了项目里的中文显示问题。
matplotlib官方文档里面有翻翻看
有时候加进去了中文但是可能会出现位置不对的情况
不过matplotlib还是有看平台,百度这个可能会出错
方法二显示中文失败了吧。
测试过是没有问题的,你把字体文件按照教程放对地方,然后重启一下环境试试
通常的解决方法在aistudio上没有办法直接用