词云图,也叫文字云,是对网络文本中出现频率较高的“关键词”予以视觉上的突出,出现的越多,显示的字体越大,就越突出,所以这个关键词也就非常的重要。让浏览者通过词云图一眼就可以快速的感知到最突出的文字,迅速的抓住重点,了解主旨。
我们简单来做一个演示,比如将西游记进行生成词云图:
看过西游记电视机的人,都知道上面一些词语是高频率,词云图就是这么神奇。
代码如下(读数据这里有一个编码,不一定是encoding='gb18030',如果报错可以试一下encoding='utf-8'):
from wordcloud import WordCloud
import jieba
import PIL
import matplotlib.pyplot as plt
import numpy as np
def wordcloudplot(txt):
pass
def makewordc():
a = []
f = open(r'西游记.txt', 'r',encoding='gb18030').read() #读数据
words = list(jieba.cut(f)) #分词
for word in words:
if len(word) > 1:
a.append(word)
txt = r' '.join(a)
wordcloudplot(txt)
if __name__ == '__main__':
makewordc()
整个工程如下:
代码的下载路径(新窗口打开链接):词云图之python源代码
有问题可以私信或者留言,有问必答