首先,pip安装wordcloud库,不再进行讲解
wordcloud库的基本知识
wordcloud库把词云当做一个WordCloud对象
- wordcloud.WordCloud()代表一个文本对应的词云
- 可以根据文本中词语出现的频率等参数绘制词云
- 词云的形状,尺寸,颜色都可以设定
注: wordcloud是库,WordCloud是对象
wordcloud的使用思路
w = wordcloud.WordCloud()
然后以WordCloud对象为基础,配置参数,加载文本,输出文件
三个步骤:
一、配置对象参数 w = wordcloud.WordCloud(‘在此处配置参数’)
二、加载词云文本 w.generate(txt)
三、输出词云文件 w.to_file(‘在此处指定绘制出词云的文件名称’)
import wordcloud # 引入库
c = wordcloud.WordCloud() # 配置对象参数,此处不进行配置则是默认
c.generate('wordcloud by python') # 加载词云文本
c.to_file('pywordcloud.png') # 输出词云文件
输出结果为下图所示,默认为400*200像素图片
实现的原理和步骤
其中会过滤过短的单词,例如by
c = wordcloud.WordCloud()配置对象参数详解
生成图片大小的参数
字号参数
控制词云的最大字号,和最小字号,以及步进间隔
字体参数,词云最大单词量,排除词云列表
词云形状,背景颜色
实战讲解
英文
import wordcloud
txt = "life is short, you need python"
w = wordcloud.WordCloud(background_color = "white")
w.generate(txt)
w.to_file('pywordcloud.png')
中文
由于词云是以空格来分割单词,但是中文没有空格,因此,需要先进行分词,再绘制词云
import jieba
import wordcloud
txt = "程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按照特定规则组织计算机指令,使计算机能够自动进行各种运算处理"
w = wordcloud.WordCloud(font_path='msyh.ttc', width=1000,height=700)
w.generate(" ".join(jieba.lcut(txt)))
w.to_file('pywordcloud.png')
输出结果如下:
感谢北理MOOC