如何使用python绘制词云图wordcloud(超详细) |
您所在的位置:网站首页 › python词云字体颜色代码 › 如何使用python绘制词云图wordcloud(超详细) |
如何使用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 |