目录
1、安装
2、使用
3、操作流程
4、示例
5、mask参数
词云,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现。词云可以快速过滤掉大量的低频低质的文本信息,使得浏览者只要一眼就可领略文本的主旨。所谓一叶知秋是也。
wordclund是 python 制作词云的一个第三方库,官方文档wordcloud。其特点是:
填充所有的可用空间能够使用任意的mask修改轻松而实现高效
1、安装
既然是第三方库,就需要有劳python包管理器pip 的大驾了。
python3 -m pip install wordcloud
注意:wordcloud 似乎对arm64系统尚不支持,安装会报错:
error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1
原因可能为缺少依赖软件包。
2、使用
wordcloud 把词云当作一个WordCloud对象,其主要操作函数为wordcloud.WordCloud(),可以根据文本词语出现的频率输出词云,并通过调整相应参数实现不同的输出效果。
参数及含义:
(font_path=None, width=400, height=200, margin=2,\ranks_only=None, prefer_horizontal=.9, mask=None, scale=1,\color_func=None, max_words=200, min_font_size=4,\stopwords=None, random_state=None, background_color='black',\max_font_size=None, font_step=1, mode="RGB",\relative_scaling='auto', regexp=None, collocations=True,\colormap=None, normalize_plurals=True, contour_width=0,\contour_color='black', repeat=False,include_numbers=False,\min_word_length=0, collocation_threshold=30)
3、操作流程
4、示例
英文文本(以莎翁剧本《Hamlet》为例)
import wordcloudf=open('hamlet.txt').read()txt=''.join(f)w=wordcloud.WordCloud(width=1920,height=1080,background_color='white')w.generate(txt)w.to_file('hamlet.png')
中文文本(以十九届六中全会决议为例)
import jiebaimport wordcloudf=open('决议.txt','r',encoding='UTF-8')t=f.read()f.close()ls=jieba.lcut(t)txt=''.join(ls)w=wordcloud.WordCloud(font_path='msyh.ttf',width=1920,height=1080,background_color='white')w.generate(txt)w.to_file('决议.png')
注意,中文文本字体路径不能为空,否则无法正确显示。
5、mask参数
mask参数是一个很有趣的参数,它可以指定词云输出的形状。您要做的只是选择一张喜欢的图片(.png 或 .jpg 等格式,透明背景最好)作为 mask 即可。
from imageio import imreadmask=imread('mask.png') <f>=wordcloud.WordCloud(...mask=mask...)
注:
关于英文及中文词频的统计,请参见:
1、英文词频:Hamlet, are u ok?要统计某个词汇或事物出现的频度,如何才能实现呢?/iprobobo/article/details/122767768
2、中文词频:《三国演义》与结巴(jieba)的碰撞中文分词练习/iprobobo/article/details/122774849
如果觉得《词云(wordcloud)之密集恐惧症慎入》对你有帮助,请点赞、收藏,并留下你的观点哦!