如何用 Python 制作词云图

大家好,欢迎来到 Crossin的编程教室 !

什么是词云?在网络上我们经常可以看到一张图片,上面有一大堆大小不一的文字,这便是词云。词云一般是根据输入的大量词语生成的,如果某个词语出现的次数越多,那么相应的大小就会越大。

Python 中有一个专门用来生成词云的模块:wordcloud,直接 pip 安装即可,然后我们来看看它的用法。

# 导入模块  
from wordcloud import WordCloud  
# 准备文本数据,是一个字符串,单词之间用空格分隔  
sentence = "hello satori hello mashiro hello satori"  
# 创建词云对象  
wc = WordCloud()  
# 根据文本生成词云  
wc.generate(sentence)  
# 保存为图片  
wc.to_file("word.png")

我们打开图片看看效果:

我们看到单词就显示在了图片上,如果单词一多就像天空的云彩一样漂浮着,并且单词出现的频率越高,那么该单词在图片上大小就越大。

虽然词云生成了,但是风格是固定的,我们可不可以调整呢,显然是可以的。WordCloud 里面支持很多参数用来调整风格,我们看一下这些参数。

  • width:词云的宽,默认是400像素;

  • height:词云的高,默认是200像素;

  • background_color:词云的背景颜色,默认是黑色;

  • font_path:生成的词云所使用的字体,传入一个字体名称;

  • mask:词云背景图片,接收一个 Numpy 数组。可以使用 PIL 或者 cv2 读取图片,然后生成数组;

  • stopwords:要屏蔽的词语,接收一个集合,生成词云的时候会忽略掉屏蔽的词语;

  • max_font_size:字体的最大大小,默认为 None;

  • min_font_size:字体的最小大小,默认为 None;

  • max_words:最多显示多少个单词,默认为200。比如文本数据有 10000 个不重复单词,肯定不可能全部显示,而是按照出现的频率高低排序,选择出现频率最高的 N 个单词,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值