python学习之绘制词云

绘制词云需要用到第三方库wordcloud,通过配置参数可以绘制自己想要的词云形状,大小等。那我们就开始吧!

读取文本

读取想要绘制的文本信息,这里我找了一个电子书

f=open("D:/文档/高效能人士的7个习惯.doc","r",encoding="utf-8")
t=f.read()

分隔文本

需要将文本分成词语,才能绘制词云。使用第三方jieba库来分隔中文。

import jieba
w=jieba.lcut(t)
wd=" ".join(w)

需要注意wordcloud库绘制词云输入的文本必须为空格隔开的数据,这里jieba分词后获得的是逗号分隔的列表。使用" ".join(w) 修改为空格。

设置词云样式及大小

c = wordcloud.WordCloud(
width = 1000, height = 700,
background_color = "white",font_path="msyh.ttf"
)

设置宽1000,高700,背景色为白色,字体为微软雅黑,你问我为什么微软雅黑是这样色儿的,我只能告诉你在这里找:


在这里插入图片描述

然后复制想要的字体到任意目录,就能看到名字啦

[图片上传失败...(image-b42c60-1641547361910)]

c.generate(wd)
c.to_file("D:/文档/grwordcloud.png")

将文本绘制成词云后输出到指定位置,生成一个图片

拦路虎1

运行后提示wordcloud没有WordCloud对象??怎么肥事??想了想,有哪里不对,我还没下载库为啥编译器不提示我库不存在呢,检查后发现我的文件名命名成了wordcloud,和库重名了。。。起啥名不好

拦路虎2

修改文件名,下载好库文件,重启!果不其然的又出错了,这回卡在了编码上,提示utf-8不行

'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte

这不会啊,搜索了半天,从gbk2312改到了gb18030,都不行
没法子了,从根本解决问题吧,打开文档,点击另存为,保存为txt文件,然后选择其他编码,选择utf-8,保存。

如果发现输出全是方框,不要方

那就是你没有设置词云的默认字体,别问我为什么知道。手就是不受控制的删除了那一行,生成后全是框框。设置后就可以显示中文了。

看看效果吧

image

你可能感兴趣的:(python学习之绘制词云)