使用WordCloud生成词云时遭遇ValueError(仅支持TrueType字体)问题求助
WordCloud生成词云时遭遇ValueError(仅支持TrueType字体)问题求助
问题描述
我最近在Jupyter Notebook里尝试用WordCloud生成词云,写了下面这段代码:
from wordcloud import WordCloud import matplotlib.pyplot as plt sent = "This is my First Word Cloud, it is the First of its kind, and your First Word Cloud is always the most amazing" wc = WordCloud(font_path =r'C:\Users\DELL\AppData\Local\Microsoft\Windows\Fonts\FiraSans-Thin.ttf').generate(sent) plt.imshow(wc, interpolation='bilinear') plt.show()
结果每次运行都会报错:
ValueError: Only supported for TrueType fonts
我试过从Google Fonts下载安装新字体,也换了PyCharm来运行,但还是遇到同样的错误,有没有大佬能帮忙解决下?
解决方案
别着急,我之前也踩过这个坑,给你几个实用的排查和解决步骤:
确认字体格式真的是TrueType:有些字体文件名带
.ttf后缀,但实际可能是OpenType或其他格式。你可以右键字体文件→属性→详细信息,查看“字体类型”是否明确标注为TrueType。如果不是,换个Google Fonts里明确标注TrueType的字体试试。换用相对路径调用字体:系统字体文件夹里的文件可能存在权限或识别问题,你可以把字体文件复制到自己的项目文件夹里,用相对路径调用,比如:
wc = WordCloud(font_path='./FiraSans-Thin.ttf').generate(sent)这样能避开系统路径的潜在问题。
验证字体是否成功被系统识别:安装字体后一定要重启Python编辑器(Jupyter或PyCharm),确保系统加载了新字体。也可以用
matplotlib的工具检查:import matplotlib.font_manager as fm # 查找包含目标字体名的路径 for font_path in fm.findSystemFonts(): if 'FiraSans' in font_path: print(font_path)如果没有输出,说明字体没安装成功,右键字体文件选择“为所有用户安装”再试试。
先用系统内置TrueType字体测试:比如Windows自带的
Arial.ttf、SimSun.ttf(宋体),用这些字体替换测试,如果能正常生成词云,那就是你下载的字体本身有问题,换个其他TrueType字体即可。
备注:内容来源于stack exchange,提问作者Okunade daniel
相关产品推荐
相关产品推荐

