WordCloud生成词云

参考链接:https://blog.csdn.net/eastmount/article/details/64438407

今天学习了下如何生成词云,看到以上链接,写的真不错,通俗易懂,把自己调试通的代码记录下来。

# -*- coding: utf-8 -*-
import jieba
import sys
import matplotlib.pyplot as plt
from wordcloud import WordCloud
 
#打开本体TXT文件
text = open('Word.txt','r',encoding = 'utf-8').read()

#print(type(text))


#结巴分词 cut_all=True 设置为全模式 
wordlist = jieba.cut(text, cut_all = True)
 
#使用空格连接 进行中文分词
wl_space_split = " ".join(wordlist)
#print(wl_space_split)
 
#对分词后的文本生成词云
my_wordcloud = WordCloud().generate(wl_space_split)
 
#显示词云图
plt.imshow(my_wordcloud)
#是否显示x轴、y轴下标
plt.axis("off")
plt.show()

其中如果没有正常图片生成,需要修改下

其中msyn.ttf可以到网上找到下载。修改之后就不会有乱码了。

如果想生成自己想要的图片

代码实例如下:

# -*- coding: utf-8 -*-
from os import path
from imageio import imread
import jieba
import sys
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator  
 
# 打开本体TXT文件
text = open('Word.txt','r',encoding = 'utf-8').read()
 
# 结巴分词 cut_all=True 设置为全模式 
wordlist = jieba.cut(text)     #cut_all = True
 
# 使用空格连接 进行中文分词
wl_space_split = " ".join(wordlist)
#print(wl_space_split)
 
# 读取mask/color图片
#d = path.dirname(__file__)
#nana_coloring = imread(path.join(d, "sunflower.jpg"))
coloring = imread("fenxue.jpg")
 
# 对分词后的文本生成词云
my_wordcloud = WordCloud( background_color = 'white',      # 设置背景颜色
                            mask = nana_coloring,          # 设置背景图片
                            max_words = 2000,              # 设置最大现实的字数
                            stopwords = STOPWORDS,         # 设置停用词
                            max_font_size = 50,            # 设置字体最大值
                            random_state = 30,             # 设置有多少种随机生成状态,即有多少种配色方案
                            )
 
# generate word cloud 
my_wordcloud.generate(wl_space_split)
 
# create coloring from image  
image_colors = ImageColorGenerator(coloring)
 
# recolor wordcloud and show  
my_wordcloud.recolor(color_func=image_colors)
 
plt.imshow(my_wordcloud)    # 显示词云图
plt.axis("off")             # 是否显示x轴、y轴下标
plt.show()
 
# save img  
#my_wordcloud.to_file(path.join(d, "sunflower_world.jpg"))
my_wordcloud.to_file("sunflower_world.jpg")

生成的图片:

OK

我只是记录下,但是推荐大家看我上头推荐的链接地址,原作者写的很详细!

猜你喜欢

转载自blog.csdn.net/liuxiangke0210/article/details/85019757