导入需要的模块
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)
版权声明:本文为xingyan999原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。