使用Python创建词云


在这个问题中,有一个包含一些文本的文件。我们必须从这些文本和一个遮罩图像中创建词云。程序将词云图像存储为png格式。

为了实现这个问题,我们需要使用一些Python库。这些库是matplotlib、wordcloud、numpy、tkinter和PIL。

要安装这些库,我们需要遵循以下命令:

安装库

$ sudo pip3 install matplotlib
$ sudo pip3 install wordcloud
$ sudo apt-get install python3-tk

添加这些库后,我们可以编写Python代码来执行任务。

算法

Step 1: Read the data from the file and store it into ‘dataset’. 
Step 2: Create pixel array from the mask image. 
Step 3: Create the word cloud from the dataset. Set the background color, mask, and stop-words. 
Step 4: Store the final image into the disk. 

输入:sampleWords.txt文件

Python是一种高级的、解释型的、交互式的和面向对象的脚本语言。Python的设计目的是使其高度易读。它经常使用英语关键词,而其他语言使用标点符号,并且它比其他语言具有更少的语法结构。

Python由Guido van Rossum于20世纪80年代末和90年代初在荷兰国家数学和计算机科学研究所开发。

Python源于许多其他语言,包括ABC、Modula-3、C、C++、Algol-68、SmallTalk和Unix shell以及其他脚本语言。

Python受版权保护。与Perl一样,Python源代码现在可在GNU通用公共许可证(GPL)下获得。

Python现在由研究所的核心开发团队维护,尽管Guido van Rossum仍然在指导其发展方面发挥着至关重要的作用。

另一个输入是遮罩图像(cloud.png)。最终结果在右侧。

Cloud

示例代码

import matplotlib.pyplot as pPlot
from wordcloud import WordCloud, STOPWORDS
import numpy as npy
from PIL import Image
dataset = open("sampleWords.txt", "r").read()
defcreate_word_cloud(string):
   maskArray = npy.array(Image.open("cloud.png"))
   cloud = WordCloud(background_color = "white", max_words = 200, mask = maskArray, stopwords = set(STOPWORDS))
   cloud.generate(string)
   cloud.to_file("wordCloud.png")
dataset = dataset.lower()
create_word_cloud(dataset)

输出

Word Cloud

更新于:2019年7月30日

1K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告