wordcloud词云

您所在的位置:网站首页 python用wordcloud词云颜色 wordcloud词云

wordcloud词云

2024-01-16 15:41| 来源: 网络整理| 查看: 265

一:Abstract

使用Python制作词云,需要wordcloud,PIL,numpy,matplotlib库。如果要制作中文词云,还需要jieba库。本篇blog介绍wordcloud库和英文词云,中文词云的制作。代码在github上

二: WordCloud

wordcloud库把词云当作一个WordCloud对象,制作词云并保存都需要WordCloud对象。我个人觉得需要设置的属性为:font_path,mask,background_color

w = wordcloud.WordCloud() width 宽度 height 高度 min_font_size 词云中字体最小字号 max_font_size 词云中字体最大字号 font_step 字体字号的步进间隔 font_path 字体文件路径 max_words 显示单词最大数量 stop_words 指定词云不显示了列表 mask 词云形状(后面介绍设置方法) background_color 词云颜色 stopword 设置需要屏蔽的词,如果为空,则使用内置的STOPWORDS 其实是个set repeat : bool, default=False 单词是否能重复直到满足max_word(显示单词最大数量) 三 生成词云函数

因为英文按照单词间的空格就可以分词,所以可以直接根据文本分词。但中文不行,所以要使用 jieba库先分词。所以我推荐英文词云使用w.generate函数,中文词云先用jieba分词,再构造单词频率字典,使用w.generate_from_frequencies函数。

# 根据text生成词云 w.generate(text)

根据频率生成词云

#frequencies是一个字典 {'word':出现次数} w.generate_from_frequencies(frequencies) 四:设置mask

mask需要一个ndarray对象

import numpy as np from PIL import Image pic = np.array(Image.open('path')) 五:改变词云每个单词颜色

下面是根据图片颜色分布改变单词颜色

# 按图片的颜色分布 from wordcloud import ImageColorGenerator img = np.array(Image.open('path')) # create coloring from image img_color = ImageColorGenerator(img) #recolor wordcloud w.recolor(color_func=img_color)

定制颜色(来自官网的例子)

//灰色 def grey_color_func(word, font_size, position, orientation, random_state=


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3