前言
今天教大家用wrodcloud模块生成词云,我读了一部小说,生成了词云,先看效果图:
效果图一:
效果图二:
根据渲染分析更准确,小说中的主人公是“程理”,所以出现次数最多。图片中有两种模式,一种是默认模式,另一种是添加图片作为背景。现在我将带你去学习如何生成单词云!
安装wordcloud
对于新人来说,安装wordcloud模块是一个大关。我们通常通过Pycharm或PIP安装,但在安装wordcloud时会提示错误,如下:
我的解决方案是直接访问以下网站,根据您的计算机和py版本下载相应的whl文件
https://www.lfd.uci.edu/~gohl...
下载后,将whl文件放在pip路径下,输入以下代码,记住代码的whl文件名必须是适合您的文件名,我只是举个例子:
pipinstallwordcloud-1.4.cp36-cp36m-win3.whl
运行结束后,将显示安装成功
wordcloud的简单用法
wordcloud的基本方法如下:
每个参数每个人都应该一目了然,另外wordcloud还有几种其它的方法,比如fit_words,generate(text),to_file(filename)等等都很好理解。
wordcloud生成词云
效果图1的代码:
fromwordcloudimportWordCloud importmatplotlib.pyplotasplt#模块绘制图像 importjieba#jieba分词 path_txt='C://Users/Administrator/Desktop/all.txt' f=open(path_txt,'r',encoding='UTF-8').read() #结巴分词,生成字符串,wordcloud不能直接生成正确的中文词 cut_text="".join(jieba.cut(f)) wordcloud=WordCloud( #设置字体,否则会出现口字乱码,文字路径是电脑字体的一般路径,可以换成其他字体 font_path="C:/Windows/Fonts/simfang.ttf", #背景设置,宽度和高度 background_color="white",width=1000,height=880).generate(cut_text) plt.imshow(wordcloud,interpolation="bilinear") plt.axis("off") plt.show()
运行后:
效果图2,将图片背景添加到词云中,代码如下:
fromPILimportImage fromwordcloudimportWordCloud,ImageColorGenerator importmatplotlib.pyplotasplt importnumpyasnp importjieba defGetWordCloud(): path_txt='C://Users/Administrator/Desktop/all.txt' path_img="C://Users/Administrator/Desktop/timg.jpg" f=open(path_txt,'r',encoding='UTF-8').read() background_image=np.array(Image.open(path_img)) #结巴分词,生成字符串,如果不是通过分词,不能直接生成正确的中文词云,感兴趣的朋友可以检查,有多种分词模式 #Pythonjoin()该方法用于将序列中的元素与指定的字符连接生成新的字符串。 cut_text="".join(jieba.cut(f)) wordcloud=WordCloud( #设置字体,否则会出现口字乱码,文字路径是电脑字体的一般路径,可以换成其他字体 font_path="C:/Windows/Fonts/simfang.ttf", background_color="white", #mask参数=图片背景,必须写下。此外,将mask参数设置为宽度和高度是无效的 mask=background_image).generate(cut_text) #生成颜色值 image_colors=ImageColorGenerator(background_image) #下面的代码显示图片 plt.imshow(wordcloud.recolor(color_func=image_colors),interpolation="bilinear") plt.axis("off") plt.show() if__name__='__main__': GetWordCloud()
运行后:
python学习网,大量免费python视频教程,欢迎在线学习!