词云(wordcloud)之密集恐惧症慎入

导读:本篇文章讲解 词云(wordcloud)之密集恐惧症慎入,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

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)
参数 描述
font_path 字体路径
width 画布宽度(像素)
height 画布高度(像素)
margin 边缘(像素)
ranks_only
prefer_horizontal
mask 配合imread()函数使用,若参数为空,则使用二维遮罩绘制词云。若非空,则设置的宽高值将被忽略,遮罩被 mask 形状取代。
scale 缩放比例
color_func 可调用的颜色函数对象
max_words 显示的最大单词(词语)数
min_font_size 最小字号
stop_words 不显示的单词列表
random_state
background_color 画布背景色
max_font_size 最大字号
font_step 字号步进
mode 颜色模式。当模式为RGBA,背景色为None时,将生成透明背景。
relative_scaling 相对比例
regexp 正则表达式,用于将输入文本分割为进程文本中的标记。
collocations 是否包含两个单词的搭配(双字母组合)
colormap 为每个单词随机绘制颜色,如果指定了color_func则会忽略。
normalize_plurals 是否删除单词末尾的s
contour_width 轮廓宽度,如果>1且mask非空,将会绘制轮廓。
contour_color 轮廓颜色
repeat 是否重复单词和短语,直到达到最大的单词或最小的字体大小
include_numbers 是否将数字视为短语
min_word_length 最小单词长度
collocation_threshold 搭配阈值

 

3、操作流程

步骤 描述
<f>=wordcloud.WordCloud() 配置词云参数
<f>.generate(txt) 加载文本至词云
<f>.to_file() 输出词云文件(.png或.jpg)

 

4、示例

        英文文本(以莎翁剧本《Hamlet》为例)

import wordcloud

f=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')

词云(wordcloud)之密集恐惧症慎入

 

        中文文本(以十九届六中全会决议为例)

import jieba
import wordcloud

f=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')

词云(wordcloud)之密集恐惧症慎入

        注意,中文文本字体路径不能为空,否则无法正确显示。

 

5、mask参数

        mask 参数是一个很有趣的参数,它可以指定词云输出的形状。您要做的只是选择一张喜欢的图片(.png 或 .jpg 等格式,透明背景最好)作为 mask 即可。

from imageio import imread
mask=imread('mask.png') 

<f>=wordcloud.WordCloud(...mask=mask...)

 

词云(wordcloud)之密集恐惧症慎入


 注:

关于英文及中文词频的统计,请参见:

1、英文词频:Hamlet, are u ok?要统计某个词汇或事物出现的频度,如何才能实现呢?词云(wordcloud)之密集恐惧症慎入https://blog.csdn.net/iprobobo/article/details/122767768

2、中文词频:《三国演义》与结巴(jieba)的碰撞中文分词练习词云(wordcloud)之密集恐惧症慎入https://blog.csdn.net/iprobobo/article/details/122774849

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/106957.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!