通过 python 生成词云的代码

记录一下相关代码

#coding:utf-8

# 导入需要模块
import jieba
from PIL import Image 
import numpy as np 
import matplotlib.pyplot as plt 
from wordcloud import WordCloud, STOPWORDS 
import io

'''
text = open(r'D:\test.txt','r').read()

wc = WordCloud(
        background_color="white", max_font_size=300,
        width=800, height=600, margin=2 )

wc.generate(text)

plt.imshow(wc)
plt.axis("off")
plt.show()

wc.to_file('test.png')
'''


#读取txt文件
text = io.open(r'D:\dong.txt','r',encoding='utf-8').read()
print(u'加载txt文件成功')

#进行分词
wordlist_after_jieba = jieba.cut(text, cut_all=False)
wl_space_split = " ".join(wordlist_after_jieba)
print(u'分词成功')

# 读取照片通过numpy.array函数将照片等结构数据转化为np-array
mask=np.array(Image.open( r'D:mask.png'))   
print(u'加载图片成功!')


#选择屏蔽词,不显示在词云里面
stopwords = set(STOPWORDS)
stopwords.add("此用户没有填写评价")
# stopwords.add("收到”)可以加多个屏蔽词


#创建词云对象并设置参数
# 需要注意的是使用mask参数后不能使用width, height参数,因为图片大小已经确定
wc = WordCloud( 
    #选择背景色
    #设置字体,不指定就会出现乱码
    font_path=r'C:\Windows\Fonts\SIMYOU.ttf',
    background_color="black", max_words=300, mask=mask, stopwords=stopwords, max_font_size=200, min_font_size = 10,
    # 设置有多少种随机生成状态,即有多少种配色方案
    random_state=30
    )


#生成词云
wc.generate(text)

#存储并指定文件名称
wc.to_file( u"三体3死神永生词云.png")


#通过matplotlib绘图库显示词云
plt.imshow(wc, interpolation='bilinear') 
plt.axis("off")

#不显示坐标轴
plt.figure() 
plt.imshow(mask, cmap=plt.cm.gray, interpolation='bilinear') 
plt.axis("off") 
plt.show() 
print(u'生成词云成功!')
全部评论

相关推荐

02-22 20:28
重庆大学 Java
程序员牛肉:首先不要焦虑,你肯定是有希望的。 首先我觉得你得好好想一想自己想要什么。找不到开发岗就一定是失败的吗?那开发岗的35岁危机怎么说?因此无论是找工作还是考公我觉得你都需要慎重的想一想。但你一定要避开这样一个误区:“我是因为找不到工作所以不得不选择考公”。 千万不要这么想。你这个学历挺好的了,因此你投后端岗肯定是有面试机会的。有多少人简历写的再牛逼,直接连机筛简历都过不去有啥用?因此你先保持自信一点。 以你现在的水平的话,其实如果想要找到暑期实习就两个月:一个月做项目+深挖,并且不断的背八股。只要自己辛苦一点,五月份之前肯定是可以找到暑期实习的,你有点太过于高看大家之间的技术差距了。不要焦虑不要焦虑。 除此之外说回你这个简历内容的话,基本可以全丢了。如果想做后端,先踏踏实实做两个项目再说+背八股再说。如果想考公,那就直接备战考公。 但是但是就像我前面说的:你考公的理由可以是因为想追求稳定,想追求轻松。但唯独不能是因为觉得自己找不到工作。不能这么小瞧自己和自己的学历。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务