python3.5+wordcloud生成词云

刚开始学习python一周,这一周的学习中,遇到了各种坑,特别是版本不兼容问题让人经常有挫败感,今天想实现自己自己的一个词云展示,遇到了一下问题,按照最常规的pip install命令,安装失败,百度半天后的结果是wordcloud的pip安装命令不适用python3,所以我们另寻它法安装wordcloud和scipy。
1. 安装wordcloud
首先,我们转到http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud,下载我们需要的对应版本的wordcloud 的whl文件,我使用的是64bit的python3.5,根据自己需求下载即可。
python3.5+wordcloud生成词云
然后,我们在cmd命令行中,进入到我们刚刚下载的文件的路径,使用
pip install wordcloud-1.3.1-cp35-cp35m-win_amd64.whl 命令开始安装,大约一分钟就可以安转完成!
2. 安装scipy
scipy的安装过程和wordcloud的过程相同,首先通过访问http://www.lfd.uci.edu/~gohlke/pythonlibs/,下载自己需要的scipy的whl文件,然后通过cmd命令行方式进入文件下载的路径,最后,使用pip install scipy-0.19.1-cp35-cp35m-win_amd64.whl命令安装。至此,准备工作已经完全结束,那么下面我们直接使用wordcloud来构建词云了。
3. 词云构建,因为本人刚刚接触python,代码简单又没有进行异常处理,请大家谅解,词云生成代码如下:``#coding='utf-8'
"""
@author:zj
@software:PyCharm
@time:2017/6/30
"""
from os import path
import matplotlib.pyplot as plt
from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator
import pickle
import jieba
import codecs
text = ''
with open('记忆与印象.txt','r',encoding='gbk') as fin:
for line in fin.readlines():
line = line.strip('\n')
text += ' '.join(jieba.cut(line))
text += ' '
fout = open('text.txt','wb')
pickle.dump(text,fout)
fout.close()
fr=open('text.txt','rb')
text=pickle.load(fr)
print("加载成功")
backgroud_Image=plt.imread('alice.jpg')
print('加载图片成功!')
'''设置词云样式'''
wc=WordCloud(
background_color='white',
mask=backgroud_Image,
font_path='C:\Windows\Fonts\STZHONGS.TTF', #若是有中文的话,这句代码必须添加,不然会出现方框,不出现汉字
max_words=2000,
stopwords=STOPWORDS,
max_font_size=150,
random_state=30
)
wc.generate_from_text(text)
print('开始加载文本')
img_colors=ImageColorGenerator(backgroud_Image)
wc.recolor(color_func=img_colors)
plt.imshow(wc)
plt.axis('off')
plt.show()
print('display success!')

使用的模板图是alice.jpg
python3.5+wordcloud生成词云
生成的词云形状如下:
python3.5+wordcloud生成词云