第三方库的介绍及安装方式见::Python学习-8.库(第三方库介绍与下载安装)
wordcloud库概述
词云概念
是由词汇组成类似云的彩色图形,可以过滤掉大量的文本信息,使读者只要一眼扫过文本就可以领略文本的主旨。
下图就是一个词云图片
wordcloud生成词云的原理
wordcloud会默认以空格或标点为分隔符对目标文本进行分词处理。对于中文文本,分词处理需要用户来完成。一般步骤是先将文本分词处理,然后以空格拼接,再调用wordcloud库函数。
wordcloud核心函数
wordcloud库的核心是WordCloud
类,所有的功能都封装在WordCloud
类中。使用时需要实例化一个WordCloud
类的对象,并调用其generate(text)
方法将text文本转化为词云。
安装
首先安装wordcloud库,安装教程见上篇:Python学习-8.2 库(第三方库介绍与下载安装)
安装完成后便可以import wordcloud库
wordcloud库应用实例
WordCloud 对象创建
WordCloud 类的常用方法
generate(text)
:由text文本生成词云to_file(filename)
:将词云图保存为名为filename的文件。
简单实例
import wordcloud
txt='I like Python,T am learning Python'
wd=wordcloud.WordCloud().generate(txt)#实例化一个WordCloud对象,并运行generate函数
wd.to_file('test.png')
输出图片
WordCloud 对象创建时的常用参数
对于中文文本,需要先使用jieba库进行分词处理需要用户来完成。一般步骤是先将文本分词处理,然后以空格拼接,再调用wordcloud库函数。
参数介绍:
- font_path:字体路径参数
在生成中文词云时,需要使用font_panth参数将字体路径设置为font_panth='msyh.ttc'
,否则计算机将无法识别中文。 - width和height:生成图片的宽度和高度参数
实例
import wordcloud
import jieba
txt='程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按照特定规则组织计算机指令,使计算机能够自动进行各种运算处理'
words=jieba.lcut(txt)
newtxt=' '.join(words)#a.join(iter):将iter变量的每个元素都增加一个a字符串
wd=wordcloud.WordCloud(font_path='msyh.ttc',width=500,height=300).generate(newtxt)#转化为词云
wd.to_file('词云中文实例.png')#保存为图片
- mask参数:控制生成的词云形状,默认为none即方形图,也可以使用自定义的图片
若需要使用自定义图片,此处需要引入imread库,读取图片内容(注意图片不可为png格式,否则会只读取图片内容部分而不读取背景,导致词云形状依旧为方形图全覆盖)
应用实例:
import wordcloud
import imread#引入imread库
mask=imread.imread('20771072_140458453278_2.jpg')#读取自定义图片
ile=open('词云生成内容.txt','r')#打开词云文件
text=file.read()#读取文件内容
wd=wordcloud.WordCloud(width=800,#设置图片宽度
height=600,#设置图片高度
background_color='white',#设置图片背景色
max_words=200,#设置词云中的最大词数
max_font_size=80,#设置词云中的最大字号
mask=mask#设置形状为自定义图片
).generate(text)
wd.to_file('词云1.png')#保存为图片