如何使用python绘制词云图wordcloud(超详细)

您所在的位置:网站首页 python词云字体颜色代码 如何使用python绘制词云图wordcloud(超详细)

如何使用python绘制词云图wordcloud(超详细)

2023-03-15 12:56| 来源: 网络整理| 查看: 265

如何使用python绘制词云图wordcloud(超详细) 1.所使用的第三方库2.整体思路3.详细说明4.效果图5.源代码 源代码地址: https://github.com/PersistentJZH/Cloud/blob/master/cloud.py

1.所使用的第三方库

本次实例需要用到的python第三方库:jieba,matplotlib,wordcloud,PIL,numpy

2.整体思路

1.先使用 jieba库 将数据进行清洗,清洗前为txt文件,清洗后变为以空格分隔的词语字符串string。 2.将字符串string传给函数wc.generate_from_text()进行绘图即可。

3.详细说明

1.通过函数tcg()来获得函数wc.generate_from_text()所需要的字符串string。

import jieba path = r'当前文件夹位置' font = r'C:\Windows\Fonts\FZSTK.TTF'#电脑自带的字体 def tcg(texts): cut = jieba.cut(texts) #分词 string = ' '.join(cut) return string text = (open(path+r'\cloud.txt','r',encoding='utf-8')).read() string=tcg(text)

注意: 1.jieba.cut(texts)的作用是将texts切分为若干组词语,cut()和lcut()的不同:cut返回的是生成器,lcut返回的是列表; 2.string = ’ '.join(cut) 表示用空格将这些词语切分开,得到一个以空格分隔的词语字符串,供后面调用;

2.开始绘图。

绘制云图所使用的函数为WordCloud(参数表),此函数接受一些参数并返回一个对象wc。

wc = WordCloud( background_color='white', width=1000, height=800, mask=img_array, #设置背景图片 font_path=font, stopwords=stopword )

注意:指定mask参数时需要将图片转化为数组的形式!

img = Image.open(path+r'\background.png') #打开图片 img_array = np.array(img) #将图片装换为数组

WordCloud参数及其描述:

参数描述width指定词云对象生成图片的宽度,默认400像素height指定词云对象生成图片的高度,默认200像素min_font_size指定词云中字体的最小字号,默认4号max_font_size指定词云中字体的最大字号,根据高度自动调节font_step指定词云中字体字号的步进间隔,默认为1font_path指定字体文件的路径,默认Nonemax_words指定词云显示的最大单词数量,默认200stop_words指定词云的排除词列表,即不显示的单词列表mask指定词云形状,默认为长方形,需要引用imread()函数background_color指定词云图片的背景颜色,默认为黑色

当前期工作准备好后,绘图变得异常简单,用前面产生的对象wc调用generate_from_text()方法即可完成绘图。

wc.generate_from_text(string)#绘制图片

3.下面将图片展示并保存

plt.imshow(wc) plt.axis('off')#隐藏坐标轴 plt.show() #显示图片 wc.to_file(path+r'\beautifulcloud.png') #保存图片

注意:plt.imshow()函数负责对图像进行处理,并显示其格式,而plt.show()则是将plt.imshow()处理后的函数显示出来。

4.效果图

python自动将图片非白色部分填充,且图片越清晰,运行速度越快 背景图片: 背景图片 效果图:(cloud.txt文档为徒手乱打的)

在这里插入图片描述

5.源代码

源代码地址:https://github.com/PersistentJZH/Cloud/blob/master/cloud.py

如果本文对你有帮助,不妨动动你发财的小手指,举手之劳,赞有余香!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3