PYTHON3.6生成词云

和上篇结合起来看,虽然这里没有用到wordcount:PYTHON3.6对中文文本分词

这个和前阶段的去停用词是结合在一起的。本来在十月份就应该把这篇博客写出来,但由于课业比较忙,没时间来进行记录一下。

不过博客本身的意义就在于记录一些平时能用到的很有用的东西,词云也是这样一个很酷炫的东西。

第一步当然是导包除开可以使用自带的pip install wordcloud这种方式以外,我们还可以使用http://www.lfd.uci.edu/~gohlke/pythonlibs/ 选择相应的包(whl)进行下载。

这种方式的好处是可以选择你所需要的PYTHON版本,对应的包基本上是可以使用的,也不容易出错。

下面直接上源代码直接说明。不能不说可视化的工具使用起来总会感觉很酷炫。

# coding = utf-8
from os import path
from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
from scipy.misc import imread
d = path.dirname('.')
text = open(path.join(d, 'filepath')).read()
bg_pic = imread(path.join(d, 'picpath'))

# 生成词云
wordcloud = WordCloud(mask=bg_pic, background_color='white', scale=1.5,
                      font_path=r'‪C:\Windows\Fonts\FZYTK.TTF').generate(text)
image_colors = ImageColorGenerator(bg_pic)
# 显示词云图片

plt.imshow(wordcloud.recolor(color_func=image_colors))
plt.axis('off')
plt.show()

# 保存图片
wordcloud.to_file(path.join(d, 'd:/txt_data/result.jpg'))


对wordcloud的属性进行分析,mask是背景图片,background_color为背景颜色,scale为密度,font_path对于中文一定要进行设置,不然出现的就是乱码,请务必注意。

plt用于绘图。最后使用wordcloud.to_file进行保存。

最后得到的效果大概是:

PYTHON3.6生成词云_第1张图片

占比重大的词很明显会拥有更大的面积。

使用的背景图片为PYTHON3.6生成词云_第2张图片

生成词云的图片会要求像这样的矢量图片,背景颜色统一也更利于生成相应的形状。

结合上一篇在一起就是简单的一个分析与结果的呈现过程啦。

你可能感兴趣的:(Python,自然语言处理)