大家好,上一篇文章《五行代码上手WordCloud词云——用一个重复的单词做一个单词云》已经带大家初步认识了词云的基本制作流程,本节教大家如何对长句进行拆分制作词云;
首先我们来了解这张图:
![df7dbb04e819252206dba7cea5b51992.png](https://img-blog.csdnimg.cn/img_convert/df7dbb04e819252206dba7cea5b51992.png)
词云制作基础流程框架——修改、增加
这张图告诉了我们如何绘制基础的词云图,在基础流程框架上面我们进行修改和增加即可变成更加复杂的词云图,后续我们词云的高级设置都是在此框架上进行修改增加的。
在了解了上面这张图的思路之后,接下来我们做分词jieba结巴词云就比较容易了;
第一步:导入库
import wordcloud # 导入词云库import jieba # 导入jieba分词库
第二步:设置词云对象
w= wordcloud.WordCloud(font_path="msyh.ttc") # 设置词云的路径,此处需要注意,很多地方后缀是ttf不是ttc,我测试后发现ttc才形,大家可以自己操作下;一定要设置词云的路径,否则做出的词云都是一个一个的小方框,像下面这张图
![62c582f43111a29a996a6aa084b87a22.png](https://img-blog.csdnimg.cn/img_convert/62c582f43111a29a996a6aa084b87a22.png)
未设置字体路径的效果图
第三步:输入文本
text = "十年生死两茫茫,不思量,自难忘。" "千里孤坟,无处话凄凉。纵使相逢应不识,尘满面," "鬓如霜。夜来幽梦忽还乡,小轩窗,正梳妆。相顾无言," "惟有泪千行。料得年年肠断处,明月夜,短松冈。" # 此处可以不用转义符/,直接引入一个长句也可以,是为了美观而设置
第四步:增加分词库的使用
textlist=jieba.lcut(text) #调用jieba的lcut()方法str=" ".join(textlist) #调用jieba的lcut()方法对原始文本进行中文分词,得到str
第五步:文本传入词云
w.generate(str) # 注意text已经变化,内容装给str了,所以文本是str不在是text
第六步:保存词云图片
w.to_file('江城子.png') # 文件保存的地址和图片名称,此处是保存在代码运行的地方,所以没有文件保存的地址
jieba分词效果展示:
![640fc4fd49c96f62393ab719181d4e4b.png](https://img-blog.csdnimg.cn/img_convert/640fc4fd49c96f62393ab719181d4e4b.png)
jieba分词效果图
不使用第四步jieba结巴分词的效果图:
![af92b03563ca1100143c7e9db0578240.png](https://img-blog.csdnimg.cn/img_convert/af92b03563ca1100143c7e9db0578240.png)
未使用jieba分词效果图
希望我的分享能帮助到你,如果对文字的描述不够理解的话,关注后查看同步更新的详细视频讲解;
下一讲:《词云美化——词云对象的设置:画布大小的设置、背景色、字体形状、大小、间隔等》;
谢谢关注&评论!