Python 词云图:wordcloud库的使用

举报
小嗷犬 发表于 2022/11/08 11:57:34 2022/11/08
【摘要】 Python 词云图:wordcloud库。安装,使用,常用函数方法,配置对象参数,蒙版,配色集。水浒传词云图代码实例。

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
🍎个人主页:小嗷犬的博客
🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
🥭本文内容:Python 词云图:wordcloud库的使用


@[TOC](Python 词云图:wordcloud库的使用)


1.wordcloud库的安装

wordcloud库是 Python 中一个优秀的第三方词云展示函数库,它可以通过文本来生成词云图,需要通过pip指令安装:

pip install wordcloud

wordcloud库把词云当作一个WordCloud对象

  • wordcloud.WordCloud()代表一个文本对应的词云
  • 可以根据文本中词语出现的频率等参数绘制词云
  • 绘制词云的形状、尺寸和颜色都可以设定

2.wordcloud库的使用

2.1 常用函数方法

wordcloud中的常用函数方法见下表,其中wWordCloud对象:

函数 描述
wordcloud.WordCloud() 根据参数配置词云图对象
w.generate(txt) 向WordCloud对象中加载文本txt(会根据空格分词)
w.to_file(filename) 将词云输出为图像文件,.png或.jpg格式

2.2 WordCloud对象常用配置参数

WordCloud对象常用配置参数如下:

参数 描述
width 指定词云对象生成图片的宽度,默认400像素
height 指定词云对象生成图片的高度,默认200像素
min_font_size 指定词云中字体的最小字号,默认4号
max_font_size 指定词云中字体的最大字号,根据高度自动调节
font_step 指定词云中字体字号的步进间隔,默认为1
font_path 指定字体文件的路径,默认None
max_words 指定词云显示的最大单词数量,默认200
stopwords 指定词云的排除词列表,即不显示的单词列表
mask 指定词云形状,默认为长方形,需要引用imread()函数
background_color 指定词云图片的背景颜色,默认为黑色
colormap 指定词云文字的配色集,默认为’viridis’

2.3 配色集

常用配色集如下:

配色集1
配色集2
配色集3
配色集4
配色集5
配色集6
配色集7


3.生成词云图

结合之前的博客:Python 中文分词:jieba库的使用,我们可以尝试生成第一张词云图了:

import jieba
import wordcloud
from imageio import imread
# 排除词库
excludes = {
    '两个', '一个', '只见', '如何', '那里', '说道', '这里', '出来', '这个', '今日', '便是', '问道',
    '起来', '甚么', '因此', '却是', '我们', '正是', '三个', '如此', '且说', '不知', '不是', '只是',
    '次日', '不曾', '不得', '一面', '看时', '不敢', '如今', '来到', '当下', '原来', '喝道', '只得',
    '里面', '大喜', '一齐', '商议', '那个', '公人', '将来', '前面', '那厮', '城中', '下山', '不见',
    '怎地', '上山', '随即', '不要'
}
# 读入水浒传,分词,并以空格连接
txt = open("Documents/《水浒传》.txt", "r", encoding='utf-8').read()
words = jieba.lcut(txt)
txt0 = ''
for i in words:
    if len(i) > 1:
        txt0 += ' '
        txt0 += i
txt0.replace('宋江道', '宋江')  # 纠正错误分词
mk = imread('皮卡丘.jpg')  # 设置蒙版为皮卡丘
w = wordcloud.WordCloud(
    width=1920,
    height=1080,  # 设置图片长宽为1080p
    background_color='white',  # 设置背景颜色为白色
    font_path='C://Windows//Fonts/msyh.ttc',  # 设置字体为微软雅黑
    max_words=300,  # 设置词汇最大数量为300
    stopwords=excludes,  # 设置排除词库
    mask=mk,  # 设置蒙版
    colormap='magma'  # 设置配色集为magma
)
w.generate(txt0)
w.to_file('img.png')

生成结果:
词云图

借助wordcloud库,我们可以绘制出很多各式各样的词云图,快去动手尝试一下吧!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。