用python绘制词云
开发环境:python2.7
需要的库:wordcloud,jieba,matplotlib
下载库: pip install wordcloud
通过jieba分词将读取的文本分成字符串,通过wordcloud生成词云,根据词频来显示特色词云图片,让人更加直观的明白文本的词频最大的文字
首先,我们需要准备一个txt文本文件,以及一个png的图片当我们的背景图片,生成词云的形状与此图片形状一致
在写代码之前我们要引入库
import sys from wordcloud import WordCloud import jieba from scipy.misc import imread import matplotlib.pyplot as plt reload(sys) sys.setdefaultencoding("utf-8") # 读入文本 comment_text = open('test.txt','r').read() # 结巴分词,生成字符串,如果不通过分词,无法直接生成正确的中文词云 cut_text = " ".join(jieba.cut(comment_text)) print cut_text # 读取背景图片 color_mask = imread('background.png') cloud = WordCloud( # 设置背景色 background_color='black', # 词云形状 mask=color_mask, #允许最大词汇 max_words=2000, # 设置字体,不设置可能出现乱码 font_path="STFANGSO.ttf", #最大号字体 max_font_size=100, ) # 产生词云 word_cloud = cloud.generate(cut_text) # 保存图片 word_cloud.to_file('after.jpg') # 显示词云图片 plt.imshow(word_cloud) plt.show() 效果如下: