文章目录
一、词云图介绍
近年来,互联网、新媒体等行业报告中都会看到精美的词云图。它的原理主要是对文章内容进行分词,统计各个词出现的次数,然后根据出现的次数,设置显示样式,例如大小、颜色等,从而使读者快速领略文本的主旨。
Python中提供的 wordcloud库 可以快速生成词云图。但主要是针对英文,通过空格进行分词。比较流行的中文分词库为 jieba可将其与 wordcloud库联合使用从而对中文文章生成相应的词云图。
二、环境配置
如果通过Pycharm导入不了就通过pip~

返回顶部
三、WordCloud()解析及用法

♦ 参数
♑ font path:字体路径,默认不支持中文,可通过该参数指定字体,支持OTF和TF格式;
♑ width、 height:画布的宽度和高度,单位为像素;
♑ margin:文字之间的边距;
♑ mask:指定图片的形状,忽略白色部分,通常为 ndarray
♑ max words:最多显示的词的数量,默认为200;
♑ min font size、 max font size:最小字体大小、最大字体大小;
♑ font_step:字体大小增加步长,默认为1
♑ background_ color:词云图的背景颜色,默认为黑色
♦ 方法
♑ generate(text):根据文本生成词云图,返回当前对象本身;
♑ to image0:将词云对象转化为图片;
♑ to_file(文件名):将词云对象转化为文件;
♑ to array():将词云对象转化为数组。
♦ 基本步骤
♑ 创建wordcloud对象,设定基本信息
♑ 调用generate()方法生成词云
♑ 保存或显示词云
返回顶部
四、基础案例展示
• 英文
- Python中提供的
wordcloud库 可以快速生成词云图。但主要是针对英文,通过空格进行分词。所以要对随机生成的文本内容按照空格进行join()拼接。
通过生成的随机文本和wordcloud绘制出的词云图如下所示:

返回顶部
• 中文
- 默认的wordcloud是对英文字符进行处理,若要显示中文,需要设定参数
font_path,指定字体样式。

返回顶部
五、jieba库
- jieba库分词的三种模式:
- (1)
精准模式:把文本精准地分开,不存在冗余; - (2)
全模式:把文中所有可能的词语都扫描出来,存在冗余; - (3)
搜索引擎模式:在精准模式的基础上,再次对长词进行切分;
- 主要函数:
-
jieba.cut(sentence,cut_all=False,hmM=true):sentence表示需要分词的句子, cut_all表示是否采用全模式,HMM表示是否使用HMM(隐马尔可夫模型)模型; -
jieba. cut_for_search(sentence,HMM=true):sentence表示需要分词的句子,HMM表示是否使用HMM模型,该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细; -
jieba.cut()方法和 jieba.cut_for_search()方法返回的结果都是可迭代对象,可使用for循环获取分词后得到的每一个词语,此外, jieba.lcut()和 jieba. lcut_for_search()效果分别和 jieba.cut()和 jieba.cut_for_search()效果类似,直接返回列表; -
add_word(word, freq=None,tag=None) 和 del_word(word)可在程序中动态修改词典;
简单应用一:读取文档生成词云图

简单应用二:生成带有形状的词云图
- mask:指定图片的形状,忽略白色部分,通常为 ndarray
- 通过读取图片获取图片形状的ndarry

返回顶部
















