前言
本文主要给出了在实际文本挖掘工作中用到的词云展示的python具体实现。当然这是基于网上资料的修改,具体参考网站忘记了,所以后面的参考文献部分就不标注了,感谢提供参考的网站。
代码
# -*- coding: utf-8 -*-
#wordcloud生成中文词云
from wordcloud import WordCloud
import codecs
import jieba
#import jieba.analyse as analyse
from scipy.misc import imread
import os
from os import path
import matplotlib.pyplot as plt
from PIL import Image, ImageDraw, ImageFont
# 绘制词云
def draw_wordcloud():
#读入一个txt文件
comment_text = open('C:\\Users\\Desktop\\neg.txt','r').read()
#结巴分词,生成字符串,如果不通过分词,无法直接生成正确的中文词云
cut_text = " ".join(jieba.cut(comment_text))
#print(cut_text)
d = path.dirname(__file__) # 当前文件文件夹所在目录
color_mask = imread("C:\\Users\\Desktop\\t.jpg") # 读取背景图片
cloud = WordCloud(
#设置字体,不指定就会出现乱码
font_path=os.environ.get("FONT_PATH", os.path.join(os.path.dirname(__file__),"simkai.ttf")),
prefer_horizontal=1.0,
#font_path=path.join(d,'simsun.ttc'),
#设置背景色
background_color='black',
#词云形状
#mask=color_mask,
#允许最大词汇
max_words=1000,
#color_func=yellow,
#font_step=1,#
#relative_scaling=0.8,#词频和字体大小的关联性
#最大号字体
#collocations=True#是否包括两个词的搭配
min_font_size=10,
max_font_size=45
)
word_cloud = cloud.generate(cut_text) # 产生词云
word_cloud.to_file("pjl_cloud4.jpg") #保存图片
# 显示词云图片
plt.imshow(word_cloud)
plt.axis('off')
plt.show()
plt.close()
if __name__ == '__main__':
draw_wordcloud()
结果
网友评论