Python生成词云——WordCount入门

来源:互联网 发布:php支付宝接口开发文档 编辑:程序博客网 时间:2024/06/16 16:00

主要内容:

  • 介绍词云
  • 用Python的WordCount包实现词云

词云

  • 关键词的视觉化描述;
  • 图形可视化;
  • 用于汇总用户生成的标签或一个网站的文字内容;
  • 重要程度能通过改变字体大小或颜色来表现;
  • 大多数标签本身就是超级链接,直接指向与标签相联的一系列条目。

Python实现词云

构造词云的方法很多,这里推荐Python的WordCount包,实现非常方便,且能够自定义图片。具体可参考:WordCount官方文档

类型一:Minimal Example

先来看看效果图:


这里写图片描述

该类型主要是根据内容中单词出现的次数的不同而绘制的。出现次数越多,标签字体越大;出现次数越少,相应的字体越小。从该词云中可以看出,“data”,“Spark”,“Hadoop”出现次数较多,据此能够推测该内容主要设计的是大数据领域。下面是其实现代码:

# 导入相关的库from os import pathimport matplotlib.pyplot as pltfrom wordcloud import WordCloud# 获取当前文件路径# __file__ 为当前文件, 在ide中运行此行会报错,可改为# d = path.dirname('.')d = path.dirname('.')# 读取整个文件text = open(path.join(d, '/home/spark/WordCount.txt')).read()wordcloud = WordCloud().generate(text)# 绘图plt.imshow(wordcloud)plt.axis("off")plt.show()

类型二:Image-colored wordcloud

还是先看看效果图:


这里写图片描述
这里写图片描述
这里写图片描述

该类型基于图像的着色策略为词云着色,并修改词云形状。

from os import pathfrom scipy.misc import imreadimport matplotlib.pyplot as pltfrom wordcloud import WordCloud, STOPWORDS, ImageColorGeneratord = path.dirname('.')# Read the whole text.text = open(path.join(d, '/home/spark/WordCount.txt')).read()# 设置背景图片RGB_coloring = imread(path.join(d, "/home/spark/RGB.jpg"))# 设置参数:背景颜色,词云显示的最大词数,设置背景图片,字体最大值wc = WordCloud(background_color="white",max_words=2000,mask=RGL_coloring,stopwords=STOPWORDS.add("said"),max_font_size=40, random_state=42)# generate word cloudwc.generate(text)# 从背景图片生成颜色值image_colors = ImageColorGenerator(RGB_coloring)# showplt.imshow(wc)plt.axis("off")#绘制词云plt.figure()# recolor wordcloud and show# we could also give color_func=image_colors directly in the constructorplt.imshow(wc.recolor(color_func=image_colors))plt.axis("off")plt.figure()plt.imshow(RGB_coloring, cmap=plt.cm.gray)plt.axis("off")plt.show()
0 0
原创粉丝点击