完整的使用jieba分词后生成词云

导入需要的模块

import jieba

jieba.setLogLevel(jieba.logging.INFO) # 设置日志等级,使底层日志不要打印出来

import jieba.analyse

from wordcloud import WordCloud

from wordcloud import ImageColorGenerator

import matplotlib.pyplot as plt

使用jieba生成字符串:浮点数的键值对来表示的关键词及频率,这个地方可以根据需要自定义很多参数,具体参考jieba文档

frequencies = {}

for word,m in jieba.analyse.textrank(text_file,topK=100,withWeight=True,allowPOS=('ns','n','vn','v','nr','nt','nw','nz','PER','LOC','ORG')):

    frequencies[word] = m

生成词云

backgroud_Image = plt.imread(pic_file)

wc= WordCloud(

    font_path = font_path, # 字体文件的路径,字符串

    width = 1000, # 绘图区宽度,默认400,整型

    height = 700, # 绘图区高度,默认200,整型

    mask = backgroud_Image,

    scale = 2, # 计算过程和实际绘图的比例,浮点型,默认1,数值越大图片越清晰

    max_words = 200, # 绘图使用的最大单词数,整型,默认200

    background_color = None, # 背景颜色,颜色值,默认为'black'

    mode = 'RGBA', # 模式,默认为'RGB',当为'RGBA'时,倘若背景颜色为None,则会得到透明的背景

    relative_scaling = 0.5, # 单词出现频率对其字体大小的权重,值为0时,只考虑单词排名对字体大小的影响,值为1时,具有2倍出现频率的单词具有2倍的字体大小,一般值设置为0.5最棒,浮点型

).generate_from_frequencies( frequencies )

image_colors = ImageColorGenerator(backgroud_Image)

wc.recolor(color_func=image_colors) # 重新上色

plt.imshow(wc) # 生成图片

plt.axis('off') # 关闭坐标轴

plt.show() # 显示图片

wc.to_file(ciyun_file)

 

上一篇:SVN报错“Failed to run the WC DB work queue associated with”解决办法


下一篇:手把手教你做词云