# import wordcloud # fo = open("introduction.txt","r",encoding='utf-8') # txt = fo.read() # fo.close() # w = wordcloud.WordCloud() # w.generate(txt) # w.to_file("tuyun.png") # print("done") from PIL import Image import numpy as np import matplotlib.pyplot as plt import jieba from wordcloud import WordCloud, STOPWORDS # 读取Text文本,没有分好词的 _text = open(r'2.txt', encoding='utf-8').read() # 将文本已词语的方式分割 分割后赋值给Word # ut_all=True 是全模式 cut_all=False 是精确模式 默认是精确模式 cutData = jieba.cut(_text, cut_all=False) # 以空格分开词语 text = " ".join(cutData) # 获取已经空格分好的词汇 # text = open(r'xpt.txt', encoding='utf-8').read() # 这里的图形,不要用透明的png,画布颜色要用全白(#FFFFFF),也就是白底,其他颜色都会被画出来 alice_mask = np.array(Image.open("2.jpeg")) # 处理停用词 stopwords = set(STOPWORDS) stopwords.add("的") wc = WordCloud( # 引入字体,使用中文词汇就必须要引入,纯英文不需要 font_path=r'fonts/msyh.ttc', # 如果不需要生成透明png,就设置为"white"等 background_color=None, # 显示的词的最大个数 max_words=2000, # 如果参数为空,则使用二维遮罩绘制词云。 # 如果 mask 非空,设置的宽高值将被忽略,遮罩形状被 mask 取代。 mask=alice_mask, # 当参数为“RGBA”并且background_color不为空时,背景为透明 mode='RGBA', stopwords=stopwords) # 生成词云图 wc.generate(text) # 保存图片 wc.to_file("wordclound.png") # 下面是展示生成图片和原图 plt.imshow(wc, interpolation='bilinear') plt.axis("off") plt.figure() plt.imshow(alice_mask, cmap=plt.cm.gray, interpolation='bilinear') plt.axis("off") plt.show()
08-25
1万+
01-07
1165
04-10
6304
06-19