声明:本内容非盈利性质,也不支持任何组织或个人将其用作盈利用途。本内容来源于参考书或网站,会尽量附上原文链接,并鼓励大家看原文。侵删。
4.9 wordcloud模块
4.9.1 wordcloud库简介
wordcloud是优秀的词云展示第三方库。
词云就是以词语为基本单位,更加直观和艺术地展示文本的一种方式。
wordcloud需要安装:pip install wordcloud。
4.9.2 wordcloud库使用说明
wordcloud库把词云wordcloud(词云)当作一个对象。库中提供了针对该对象操作的方法,这些方法可以根据文本中词语出现的频率等参数绘制词云。而词云的形状、尺寸、颜色及字体等都可以通过对象参数进行配置。
(1)wordcloud中的方法
wordcloud库提供了如下常规方法:
- .Wordcloud():创建词云对象并且可以配置对象的属性;
- .generate(txt):向wordcloud对象中加载文本txt。其中txt可以是文本字符串;
- .to_file(filename):将词云输出为图像文件,png或jpg格式。
(2)配置wordcloud对象的参数
wordcloud对象主要通过.wordcloud(<参数>)方法配置参数。其中的<参数>有如下选项:
- width:指定词云生成图片的宽度,默认400像素;
- height:指定生成词云图片的高度,默认200像素;
- min_font_size:指定词云中字体的最小字号,默认4号;
- max_font_size:指定词云中字体的最大字号,根据高度自动调节;
- font_step:指定词云中字体号的步进间隔,默认为1;
- font_path:指定字体文件路径,默认None;
- max_words:指定词云显示的最大单词数量,默认200;
- stop_words:指定词云中的排除词列表,即不显示的单词列表;
- mask:指定词云的形状,默认为长方形,需要引用imread()函数;
- background_color:指定词云图片的背景颜色,默认为黑色。
一些示例如下:
import wordcloud
from scipy.misc import imread # 配置词云的形状需要用到另一个库
mk = imread("pic.png") # 配置形状变量
w = wordcloud.Wordcloud(with=600, height=400, min_font_size=10, max_font_size=20, \
font_step=2, font_path="msyh.ttc", \
stop_words={"python", "pycharm"}, mask=mk,\
background_color="white")
# font_path="msyh.ttc",表示使用的字体文件是微软雅黑
(3)词云使用的基本步骤
词云的使用一般为三步:1)配置对象参数;2)加载词云文本;3)输出词云文件。其中决定最终生成词云特征的主要是第一步。
简单的使用示例如下:
import wordcloud
txt = "life is short, you need python"
w = wordcloud.Wordcloud(background_color="white") # 配置对象参数
w.generate(txt) # 加载词云文本
w.to_file("python.png") # 输出词云文件
如果是对中文使用词云,则需要jieba库进行分词。如下:
import jieba
import wordcloud
txt = "程序设计...运算处理"
w.wordcloud.Wordcloud(width=1000, font_path="msyh.ttc", height=700) # 配置对象参数
w.generate("".jion(jieba.lcut(txt))) # 加载词云文本
w.to_file("python.png") # 输出词云文件
4.9.3 使用案例:政府工作报告词云
读取一份中文报告,然后生成词云。代码如下:
import jieba
import wordcloud
with open("新时代中国特色主义.txt", "r", encoding="utf-8") as f:
t = f.read()
ls = jieba.lcut(t)
txt = "".join(ls)
w = worcloud.Wordcloud(font_path="msyh.ttc", width=1000, height=700,\
background_color="white")
w.generate(txt)
w.to_file("gr.py")