什么是词云?词云就是将从一大段文本中按出现频率提取的关键词组织成云朵或其他的形状,并在视觉上突出出现频率较高的关键字。
什么?你说你听不懂?用简单的话来说,词云就是把一大段文字中的关键词提取出来,做成一张图,并按照出现的次数多少,决定关键词在结果图上的大小。
像下图就是比较常见的云朵形状的词云:
像下图就是一个自定义形状的词云:
接下来,小编就教小伙伴们做出一个自定义形状的词云。
Python提供了用于实现词云功能的第三方库wordcloud(直接使用pip命令安装即可),该库以文本中词语出现的频率作为参数来绘制词云,并支持对词云的形状、颜色和大小等属性进行设置。
利用wordcloud库生成词云一般分为三个步骤:
(1)利用WordCloud类的构造方法WordCloud()创建词云对象。
(2)利用WordCloud对象的generate()方法加载词云文本。
(3)利用WordCloud对象的to_file()方法生成词云。
接下来,按照上面说的三个步骤来生成词云。
首先,根据预先准备的字体和图片创建词云对象,因为wordcloud库中只包含固定的词云形状,若希望生成自定义形状的词云,则需要用到matplotlib.image中的imread()函数,该函数需要接收两个参数:第一个参数为图片名,第2个参数为读取图片的方式,其值为1时代表读入彩色图像。创建词云对象的代码如下:
import wordcloud
from matplotlib.image import imread
font = E:\\\\python_study\\\\first_proj\\\\res\\\\AdobeHeitiStd-Regular.otf 词云形状
mk = imread(E:\\\\python_study\\\\first_proj\\\\res\\\\wukong.png, 1)
file.close()
创建词云对象
w = wordcloud.WordCloud(font_path=font, mask=mk,
max_words=500,background_color=white)
以上代码中读取的词云形状的原图是wukong.png,该图片长这样:
然后,导入提前准备好的文本,将文本加载到词云对象里面,代码如下:
用于生成词云的字符串
file = open(E:\\\\python_study\\\\first_proj\\\\res\\\\西游记.txt,
encoding=utf-8)
string = str(file.read())
加载文本
w.generate(string)
最后,调用to_file()方法生成词云,并将生成的词云图片保存到当前目录的xiyou.jpg文件中,代码如下:
生成词云
w.to_file(xiyou.png)
此时打开程序所在路径,可观察到其中生成了词云图片xiyou.png,具体如下图所示。
通过上面的介绍,小伙伴们有木有觉得生成词云的功能特别简单,想赶紧试一下呢!
★《布宫号》提醒您:民俗信仰仅供参考,请勿过度迷信!