解决 百度AI Studio中matplotlib无法显示中文 问题 分享 编辑
收藏
我的语雀链接 https://www.yuque.com/u12136253/hzetst/is0gci 这个链接做了排版
问题描述
在百度的课程《Python小白逆袭大神》中,day3的作业是可视化爬取的《青春有你2》选手数据:绘制小姐姐籍贯分布直方图,X轴为籍贯,Y轴为该籍贯的小姐姐的数量
matplotlib的中文显示会有问题,百度课程给出的解决方案是
import matplotlib.pyplot as plt
import numpy as np
import json
import matplotlib.font_manager as font_manager
# 下载中文字体
!wget https://mydueros.cdn.bcebos.com/font/simhei.ttf
# 将字体文件复制到matplotlib字体路径
!cp simhei.ttf /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/
# 一般只需要将字体文件复制到系统字体目录下即可,但是在aistudio上该路径没有写权限,所以此方法不能用
# !cp simhei.ttf /usr/share/fonts/
# 创建系统字体文件路径
!mkdir .fonts
# 复制文件到该路径
!cp simhei.ttf .fonts/
!rm -rf .cache/matplotlib
plt.rcParams['font.sans-serif'] = ['SimHei'] #指定默认字体
plt.rcParams['axes.unicode_minus'] = False #解决保存图像是负号'-'显示为方块的问
这其中有2个问题
找不到参数font.sans-serif
该链接https://mydueros.cdn.bcebos.com/font/simhei.ttf无法访问
解决方法
问题解决参考
https://aistudio.baidu.com/aistudio/projectdetail/390895?channelType=0&channel=0 如何在AI Studio数据可视化图像中显示汉字
https://www.jianshu.com/p/7d4f88c62815 Ubuntu 中使用 matplotlib 画图如何正常显示中文
从第一个链接可以知道,输入指令可以查看有什么字体支持中文
第一个链接的内容是20年的,当时没有支持中文的字体
# 查看系统可用的ttf格式中文字体
!fc-list :lang=zh | grep ".ttf
现在是21年,paddle更新了中文字体
上述指令的输出
/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf: Droid Sans Fallback:style=Regular
因此,指定matplotlib的字体就可以了 ,通过FontProperties属性
(该字体不是上面显示的,但是也可以用。不懂上面的指令为什么没有找到该字体)
import matplotlib.font_manager as font_manager
import matplotlib.pyplot as plt
myfont = font_manager.FontProperties(fname='/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc')
plt.title('''《青春有你2》参赛选手''',fontsize = 24,FontProperties=myfont)
1
收藏
请登录后评论
棒啊~
感谢!:)
行
字体下载不了了
下载不了字体了