超详细:Python(wordcloud+jieba)生成中文词云图
2017-11-16 17:46
2506 查看
# coding: utf-8 import jieba from scipy.misc import imread # 这是一个处理图像的函数 from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator import matplotlib.pyplot as plt back_color = imread('o_002.jpg') # 解析该图片 wc = WordCloud(background_color='white', # 背景颜色 max_words=1000, # 最大词数 mask=back_color, # 以该参数值作图绘制词云,这个参数不为空时,width和height会被忽略 max_font_size=100, # 显示字体的最大值 stopwords=STOPWORDS.add('苟利国'), # 使用内置的屏蔽词,再添加'苟利国' font_path="C:/Windows/Fonts/STFANGSO.ttf", # 解决显示口字型乱码问题,可进入C:/Windows/Fonts/目录更换字体 random_state=42, # 为每个词返回一个PIL颜色 # width=1000, # 图片的宽 # height=860 #图片的长 ) # WordCloud各含义参数请点击 wordcloud参数 # 添加自己的词库分词,比如添加'金三胖'到jieba词库后,当你处理的文本中含有金三胖这个词, # 就会直接将'金三胖'当作一个词,而不会得到'金三'或'三胖'这样的词 jieba.add_word('金三胖') # 打开词源的文本文件 text = open('cnword.txt').read() # 该函数的作用就是把屏蔽词去掉,使用这个函数就不用在WordCloud参数中添加stopwords参数了 # 把你需要屏蔽的词全部放入一个stopwords文本文件里即可 def stop_words(texts): words_list = [] word_generator = jieba.cut(texts, cut_all=False) # 返回的是一个迭代器 with open('stopwords.txt') as f: str_text = f.read() unicode_text = unicode(str_text, 'utf-8') # 把str格式转成unicode格式 f.close() # stopwords文本中词的格式是'一词一行' for word in word_generator: if word.strip() not in unicode_text: words_list.append(word) return ' '.join(words_list) # 注意是空格 text = stop_words(text) wc.generate(text) # 基于彩色图像生成相应彩色 image_colors = ImageColorGenerator(back_color) # 显示图片 plt.imshow(wc) # 关闭坐标轴 plt.axis('off') # 绘制词云 plt.figure() plt.imshow(wc.recolor(color_func=image_colors)) plt.axis('off') # 保存图片 wc.to_file('19th.png')
cnword.txt文本中的是十九大习大大讲话内容,太多了就不放上来了
stopwords.txt文本中有以下这几个词
社会主义 制度 国家 政治
背景颜色图
生成的词云图,与颜色图对应不是很明显,想明显的话可以使用一些色差大的图
相关文章推荐
- Python+wordcloud+jieba+docx生成中文词云和词频统计
- Java爬取B站弹幕 —— Python云图Wordcloud生成弹幕词云
- Python中文分词_使用介绍(wordcloud+jieba)
- 在Python中用WordCloud生成聊天记录热点词汇词云图
- python——wordcloud生成中文词云
- Python + worldcloud + jieba 十分钟学会用任意中文文本生成词云
- 如何解决Python中利用Wordcloud无法生成中文词云的问题?
- Python + worldcloud + jieba 十分钟学会用任意中文文本生成词云
- 使用jieba和wordcloud进行中文分词并生成《悲伤逆流成河》词云
- 利用wordcloud生成云图
- Python NLPIR2016 与 wordcloud 结合生成中文词云
- 生成词云之python中WordCloud包的用法
- 利用wordcloud包,画词云图(Python学习实例一)
- 【实例】词频统计及其可视化python+jieba+wordcloud
- python本地版wordCloud字符云生成
- Python wordcloud之中文词云
- Python的jieba中文分词--详细版
- Python实现中文词云(wordcloud),根据背景图片生成词云
- 使用python生成word的中文字体
- HIGHCHARTS 在WEB生成SVG图片导出到word的详细操作步骤 导出另存为以及文件中文名称的实现