用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()
效果如下:






posted @ 2017-10-30 22:53  zhaobig  阅读(672)  评论(0编辑  收藏  举报