记录一下在用 wordcloud 绘制词云图片的过程中,遇到的两个的问题及解决方案;
wordcloud 是一个 python 词云生成器,地址:http://github.com/amueller/word_cloud;
1、乱码
问题描述
要统计的内容是日文,生成的词云中,英文字母可以显示出来,其他都是一些方框,应该都是日文汉字或假名;
解决方案有两种:
1、在导入 wordcloud 之前,先定义 FONT_PATH 这个系统变量,wordcloud 就会用这个字体了;
os.environ['FONT_PATH'] = '/System/Library/Fonts/ヒラギノ明朝 ProN.ttc'
from wordcloud import WordCloud
2、在创建词云的时候,设置字体路径
font_path = '/System/Library/Fonts/ヒラギノ明朝 ProN.ttc'
wordcloud = WordCloud(max_font_size=40, width=400, height=300, collocations=False, font_path=font_path, scale=2).generate(text)
在 WordCloud 的参数中,添加 font_path 参数即可;
macOS 中的字体文件地址,苹果官方说明请点击查看;
/Users/用户名/Library/Fonts/
/System/Library/Fonts/
/Library/Fonts/
主要是上面三个,还有一个“网络/Library/Fonts/”,在自己的机器上没有找到对应的例子;
2、关键字重复
可以试一下 collocations 参数,该参数表示是否统计搭配词,默认为 True,即统计搭配词;
比如文案中大量出现了“ashita top” 和 单独的 “ashita”,collocations 设置为 True 时,系统会把”ashita top”作为一个整体进行统计,最终生成的词云里,展示了“ashita top”和“ashita”,看上去有两个“ashita”;
如果设置为 False ,则不进行搭配,会按照单个单词进行统计;