python wordcloud词云库

升级wordcloud

pip install wordcloud

引入词云库

import wordcloude

生成对象

w = wordcloud.WordCloud

设置词云库属性

wordcloud = WordCloud(background_color="white",width=1000, height=860, margin=2).generate(f)

详细解释

属性 功能
background_color 背景颜色,颜色值,默认为'black'
width 设置宽度
height 设置高度
font_path 设置字体
max_font_size 绘图时最大字体大小,整型或None,默认为None
min_font_size 绘图时最小的字体大小,整型,默认4
font_step 字体大小的迭代步长,大于1时可能会出现错误排列,整型,默认1
random_state 设置有多少种随机生成状态,即有多少种配色方案
stopwords 排除的单词集,字符串集或None,默认为None时,内置的字符串集将会被使用
mask 是否在给定的形状内绘制单词,这个参数使我们能够根据给定的轮廓形状绘制各种词云图,当此参数不为None时,width和height将被忽略,nd-array型或None,默认None
prefer_horizontal 单词倾向于水平放置还是垂直放置,如果值小于1,则会在不合适的情况下旋转单词,浮点型,默认0.9
scale 计算过程和实际绘图的比例,浮点型,默认1
mode 模式,默认为'RGB',当为'RGBA'时,倘若背景颜色为None,则会得到透明的背景
relative_scaling 单词出现频率对其字体大小的权重,值为0时,只考虑单词排名对字体大小的影响,值为1时,具有2倍出现频率的单词具有2倍的字体大小,一般值设置为0.5最棒,浮点型
color_func 颜色函数,用于生成不同颜色单词的词云图,默认为None
regexp 正则表达式,用于分词,默认为 r"\w[\w']+"
collocations 是否包括二元词组,布尔型,默认为True
colormap 颜色图,随机分配颜色给每个单词,如果指定了color_func,则本参数被忽略,字符串或matplotlib colormap型,默认为'viridis'
normalize_plurals 移除单词末尾的's',布尔型,默认为True

属性

属性名称 功能
wc.words_ 对应频率的词例,字典类型{字符串:浮点数}
wc.layout_ 记录每个单词的值,字体大小,位置,方向以及颜色,由一系列元组组成的列表,每个元组格式为(string, int, (int, int), int, color)

方法

方法 功能
wc.generate(text) 从文本中生成词云图
wc.fit_words(frequencies) 根据给定单词及频率生成词云图
frequencies 元组型数组,每个元组包含一个单词及其频率
wc.generate_from_frequencies(frequencies, max_font_size=None) 根据给定单词及频率生成词云图
frequencies 字典,包含字符串(单词):浮点数(频率)的值对
max_font_size 最大字体大小
wc.process_text(text) 将长文本分词,并移除stopwords集合中的单词
返回字典dict (string, int)
wc.recolor(random_state=None, color_func=None, colormap=None) 重新上色
random_state 随机种子,整型或None
wc.to_array() 以numpy矩阵的格式返回词云图
to_file(filename) 以图片的格式返回词云图
filename:保存路径

案例

# -*- coding:utf-8 -*-
from os import path
import matplotlib.pyplot as plt  #绘制图片
from scipy.misc import imread   #读取图片
from wordcloud import WordCloud,ImageColorGenerator
import jieba  #结巴分词
text_address=path.abspath('test1.txt')
text=open(text_address).read()   #读取文本
text_cut=jieba.cut(text)   #分词
new_textlist=' '.join(text_cut)   #组合
pic_address=path.abspath('pic1.jpg')  
pic=imread(pic_address)  #读取图片
pic_color=ImageColorGenerator(pic)   #根据图片生成颜色函数
wc=WordCloud(background_color='white',    #构造wordcloud类
mask=pic,
max_font_size=40,
random_state=30,
font_path="font.ttf",
max_words=500,
min_font_size=2,
color_func=pic_color)
wc.generate(new_textlist)    #生成词云图
plt.figure()    #画图
plt.imshow(wc)
plt.axis("off")
plt.show()
wc.to_file(path.join(path.dirname('test.txt'),"zjw5.png"))   #保存图片



官方文档地址

你可能感兴趣的:(python wordcloud词云库)