运用python制作词云(2)
在运用python制作词云(1)中我们知道了可以用jieba库将语句拆分成词组
接下来我们将使用wordcloud库将得到的词组制作成词云
前排提示:
join()函数使用
语法: 'sep'.join(seq)
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串
遇到python不懂的问题,可以加Python学习交流群:1004391443一起学习交流,群文件还有零基础入门的学习资料
如
结果为
即以空格为分隔符的字符串
wordcloud库的安装
在命令提示符里面输入命令来安装wordcloud库
pip3 install wordcloud
完成wordcloud库的安装
安装后 在python中输入import wordcloud 如没有错误提示即确认安装成功
词组文本的生成
在生成词云时,wordcloud默认会以空格或标点为分隔符对目标文本进行分词处理。
因此为了方便起见,首先将文本变为以空格和标点为分隔符的词组文本。
下面以文本
”2018年世界互联网峰会,马云总体演讲了阿里巴巴的成长历程,以及在战略布局上的思维;从演讲中了解到,阿里巴巴定位之初,并非是一家希望成功的商家身份。而是希望通过阿里巴巴平台,使更多小商家成功的企业。可以知道,马云成功之初,互联网创业阿里巴巴,定位的是小企业。“
为例生成以空格和标点为分隔符的词组文本。
newtext即为如图
wordcloud库中的WordCloud类
wordcloud库的核心是WordCloud类(注意大写),在使用过程中,先实例化一个Wordcloud类,在调用方法将文本转化为词云
WordCloud对象创建的常用参数
WordCloud类的常用方法
具体使用如图
此处特别注意:第13与14行的代码非常坑,第十三行为macos用户使用的代码,Windows系统用户可能会报错,具体请先看下文
14行中 wordcloud=WordCloud(font_path=font).generate(newtxt)
font_path=xxx(即设置字体,xxx为字体文件的完整路径)必须存在,如果不设置的话,中文字符将不显示变成框框如图(但英文字符照常显示)
为了使字符不变成框框,便要设置字体
在macos(苹果系统中)找到字体文件路径的方法为:(作者尝试了很久才找到)
1.搜索字体册
2.打开字体册
找到任意一种中文字体进行图示操作
可以找到字体文件
STHeiti Medium.ttc即为字体文件路径
Windows中找到字体文件路径的方法
所有的字体都存放在系统盘下的Fonts文件夹,系统盘下搜索*.ttf,即可找到该系统支持的所有字体文件。
以下是各字体文件的对应关系,华文...类型的字体是安装office之后添加的字体,sim开头的字体是win系统自带的。
以下为部分Windows字体文件名
于是为了使上面的代码可以运行,要将第13行代码换成 font='xxx' xxx为文字文件名 可以从上面几个任选
当解决了这个深坑以后输出结果为一张储存在桌面的图片
打开图片即可看到词云图
接下来我们将运用wordcloud制作如下图一样,各种形状的词云图