✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
个人主页:小嗷犬的博客
个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
本文内容:Python 词云图:wordcloud库的使用
wordcloud
库是 Python 中一个优秀的第三方词云展示函数库,它可以通过文本来生成词云图,需要通过pip
指令安装:
pip install wordcloud
wordcloud
库把词云当作一个WordCloud
对象
- wordcloud.WordCloud()代表一个文本对应的词云
- 可以根据文本中词语出现的频率等参数绘制词云
- 绘制词云的形状、尺寸和颜色都可以设定
wordcloud
中的常用函数方法见下表,其中w
为WordCloud
对象:
函数 | 描述 |
---|---|
wordcloud.WordCloud() | 根据参数配置词云图对象 |
w.generate(txt) | 向WordCloud对象中加载文本txt(会根据空格分词) |
w.to_file(filename) | 将词云输出为图像文件,.png或.jpg格式 |
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’ |
常用配色集如下:
结合之前的博客: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
库,我们可以绘制出很多各式各样的词云图,快去动手尝试一下吧!