词云是对文本中出现频率较高的关键词汇通过彩色图像显示出来,从而在视觉上予以突出。
词云可视化表达了词频的高低,提供了从大量文本中提取主要关键字和主题索引,使读者能很快领会文本的主旨
是python的第三方库
pip install wordcloud
#1.导入包
import wordcloud
#2.创建wordcloud对象w
w = wordcloud.WordCloud()
#3.给w对象输入内容,并生成词云
w.generate("i love china")
#4.设置到词云保存的路径
w.to_file(r"C:\Users\hanhan\Desktop\python笔记\wordcloud使用\test.png")
主要对其的参数进行讲解
参数 | 描述 |
---|---|
font_path | 字体路径,默认为None |
width | 输出的画布宽度,默认为400像素 |
height | 输出的画布高度,默认为200像素 |
prefer_horizontal | 词云水平方向排版出现的频率,默认为0.9 |
mask | 指定词云形状的背景图片,默认为None,即可矩形 |
scale | 按比例放大画布,如设置1.5,则长和宽都是原来画布的1.5倍,默认为1 |
color_func | 生成新颜色的函数,如果为空,则使用内置颜色函数,默认值为None |
max_words | 要显示的词最多的个数,默认值为200 |
min_font_size | 显示的最小的字体大小,默认为4 |
stopwords | 设置需要屏蔽的词,如设置为空,则使用内置的STOPWORDS,默认为None |
background_color | 背景颜色,默认值为black(黑) |
max_font_size | 显示的最大的字体大小,默认为None |
font_step | 字体步长,如果步长大于1,会加快运算但可能导致结果出现较大的误差,默认值为1 |
mode | 模式,当参数为“RGBA‘”且background_color不为空时,背景为透明,默认为RGB |
relative_scaling | 词频和字体大小的相关性,默认为0.5 |
regexp | 使用正则表达式分隔输入的文本,默认为None |
collocations | 是否包括两个词的搭配,默认为None |
colormap | 给每个单词随机分配颜色,若指定了color_function,则忽略该方法,默认为None |
方法 | 描述 |
---|---|
fit_words(frequencies) | 根据词频生成词云 |
generate(text) | 根据文本生成词云 |
generate_from_frequencies(frequencies[,…]) | 根据多个词频生成词云 |
generate_from_text(text[,…]) | 根据多文本生成词云 |
process_text(text) | 将长文本分词,并去除屏蔽词 |
recolor([random_state,color_func,colormap]) | 对现有输出重新着色,这比重新生成词云更快 |
to_array() | 转化为数值 |
to_file(filename) | 输出到文件 |
process_text(text)方法仅针对英文实现将长文本分词,并去除屏蔽词,中文分词还需要使用其他的库,如jieba
#1.导包
import wordcloud
import numpy as np
from PIL import Image
#2,读取要显示词云的文件
textfile = open(r"C:\Users\hanhan\Desktop\python笔记\wordcloud使用\1.txt","r",encoding='utf-8')
words = textfile.read()
textfile.close()
#3,将我们想要显示的形状变成数组
pic = np.array(Image.open(r"C:\Users\hanhan\Desktop\python笔记\wordcloud使用\xin.jpeg"))
#3.设置词云的参数
params =dict(
background_color = "white",
width = 1000,
height=860,
max_words=50,
mask=pic)
#4.创建词云的对象
w = wordcloud.WordCloud(**params)
#5.生成词云
w.generate(words)
#6.设置保存词云的路径
w.to_file(r"C:\Users\hanhan\Desktop\python笔记\wordcloud使用\1.png")