词云以词语为基本单位,根据其在文本中出现的频率设计出不同大小以形成视觉上的不同效果,形成“关键词云层”或“关键词渲染”,从而使读者只要一瞥即可领略文本的主旨。
——《Python语言程序设计》
wordcloud库官方网站的词云图
wordcloud库是专门用于根据文本生成词云的Python第三方库,十分常用且有趣。
有关wordcloud库的详细介绍可以访问 https://amueller.github.io/word_cloud/
wordcloud其实使用起来很简单,只需要几行代码
from wordcloud import WordCloud #导入wordcloud库
txt="Python is an excellent language.I like python.I am learning wordcloud"
wordcloud = WordCloud().generate(txt) #产生词云
wordcloud.to_file("test.png") #输出词云照片的名字
词语生成后是一张照片效果如图:
不错,进入正题
一直觉得《野心》的歌词很不错,今天就用wordcloud库给《野心》做个词云
上代码
import jieba
from wordcloud import WordCloud
txt = open("P186wordcloud库.txt","r",encoding="utf-8").read()
words = jieba.lcut(txt)
print(words)
newtxt = ' '.join(words)
wordcloud = WordCloud(font_path="msyh.ttc").generate(newtxt)
wordcloud.to_file("野心词云.png")
!!!注意
1.这里因为歌词太多,就把歌词复制到一个文本文件里面,需要打开这个文本文件读取歌词
2.因为歌词不是一个一个词给到电脑的,所以要用上jieba库进行分词
最后生成的词云效果如下:
可以看出来出现次数较多的字会大一点
效果还行嘿嘿