1

安装 Word Cloud

如果想建立词云(Word Cloud),首先需下载相对应的 Python 版本和硬件的 whl 文件,然后用此文件安装 Wordcloud 模块,请进入下列网址 :

https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud

然后请进入下列界面,同时选择自己目前系统环境适用的文件,此例笔者选择如下。

python 云端部署 python cloud_python wordcloud安装

单击下载后,可以在窗口下方看到应如何处理此文件,请选择另存新文件,笔者此时将此文件存放在 d:\Python\ch17。

python 云端部署 python cloud_python wordcloud安装_02

存储文件后,就可以进入 DOS 环境使用 pip install 文件,安装所下载的文件。

python 云端部署 python cloud_python wordcloud安装_03

如果成功安装将可以看到下列信息。

python 云端部署 python cloud_python wordcloud安装_04

2

创建词云

要建立词云程序,首先是导入 Wordcloud 模块,可以使用下列语法。

from wordcloud import WordCloud

除此之外,必须为词云建立一个 txt 文本文件,未来此文件的文字将出现在词云内,下列是笔者所建立的 text17_28.txt 文件。

python 云端部署 python cloud_python 下载wordcloud_05

产生词云的步骤如下。

(1)读取词云的文本文件。

(2)词云使用 Worldcloud( ),此方法不含参数表示使用默认环境,然后使用 generate( ) 建立步骤(1)中文本文件的词云对象。

(3)词云对象使用 to_image( ) 建立词云图像文件。

(4)使用 show( ) 显示词云图像文件。

程序实例1:创建一个词云程序。

python 云端部署 python cloud_python 下载wordcloud_06

其实屏幕显示的是一个图片框文件,此例只列出词云图片,每次执行都会看到不一样字词排

列的词云图片,如上方所示。上述第 8 行是使用词云对象的 to_image( ) 方法产生词云图片的图像文件,第 9 行则是使用词云对象的 show( ) 方法显示词云图片。

也可以使用 matplotlib 模块的方法产生词云图片的图像文件,并显示词云图片的图像文件,下文会做说明。

3

建立含中文的词云

首先需要安装中文分词函数库模块 jieba(也有人翻译为结巴),这个模块可以用于句子与词的分割、标注,可以进入下列网站下载。

https://pypi.org/project/jieba/#fi les

然后请下载 jieba-0.39.zip 文件。

python 云端部署 python cloud_python 词云_07

下载完成后需要解压缩,笔者是将此文件存储在 d:\Python\ch17,然后进入此解压缩文件的文件夹,输入 python setup.py install 安装 jieba 模块。

python 云端部署 python cloud_python 词云_08

jieba 模块内有 cut( ) 方法,这个方法可以将所读取的文件执行分词,英文文件由于每个单字空一格所以比较单纯,中文文件则是借用 jieba 模块的 cut( ) 方法。由于我们希望所断的词可以空一格,所以可以采用下列语句执行。

python 云端部署 python cloud_python 云端部署_09

此外,需要为词云建立对象,所采用的方法是 generate( ),整个语句如下。

python 云端部署 python cloud_python wordcloud安装失败_10

在上述建立含中文字的词云对象时,需要在 Worldcloud( ) 方法内增加 font_path 参数,这是设置中文字所使用的字体。另外,笔者也增加了 background_color 参数设置词云的背景颜色,width是设置单位是像素的宽度,height 是设置单位是像素的高度,若是省略 background_color、width、height 则使用默认值。

程序实例2:建立含中文字的词云图像。

python 云端部署 python cloud_python 词云_11

python 云端部署 python cloud_python 词云_12

在建立词云图像文件时,也可以使用 matplotlib 模块,使用此模块的 imshow( ) 建立词云图像文件,然后使用 show( ) 显示词云图像文件。

程序实例3:使用 matplotlib 模块建立与显示词云图像,同时将宽设为 800,高设为 600。

python 云端部署 python cloud_python 云端部署_13

4

建立含图片背景的词云

在先前所产生的词云外观是矩形,建立词云时,另一个特点是可以依据图片的外形产生词云,如果有一个无背景的图片,可以依据此图片产生相同外形的词云。

python 云端部署 python cloud_python wordcloud安装_14

要建立这类的词云需增加使用 Numpy 模块,可参考下列语句。

python 云端部署 python cloud_python wordcloud安装_15

上述 np.array( ) 是建立数组所使用的参数是 Pillow 对象,这时可以将图片用大型矩阵表示,然后在有颜色的地方填词。最后在 WordCloud( ) 方法内增加 mask 参数,执行屏蔽限制图片形状,如下所示。

python 云端部署 python cloud_python 词云_16

需留意当使用 mask 参数后,width 和 height 的参数设置就会失效,所以此时可以省略设置这两个参数。本程序所使用的星图 star.gif 是一个星状的无背景图。

程序实例4:建立星状的词云图,所使用的背景文件是 star.gif,所使用的文本文件是

utf17_33.txt。

python 云端部署 python cloud_python 下载wordcloud_17

python 云端部署 python cloud_python wordcloud安装失败_18