自主学习:02词云图制作
词云图制作
之前爬了网易云歌曲成都的评论,就想着做一个词云图,搞一下。
下载相关库
1、jieba库
jieba库是一个中文分词库。
在pycharm的setting中,找到project interpreter,加号,manager repositories,更改下下载路径。原路径下载太慢了,最后就下载不下来了。
可以在Manage Repositories中添加镜像
下面的都可以用:
阿里云
http://mirrors.aliyun.com/pypi/simple
豆瓣(douban)
http://pypi.douban.com/simple
清华大学
https://pypi.tuna.tsinghua.edu.cn/simple
中国科学技术大学
http://pypi.mirrors.ustc.edu.cn/simple
改好后回到这个页面,记得一定刷新一下(description旁边的那个刷新),或者重新打开一下setting,就可以啦!
2、wordcloud库
wordcloud是词云图库。
在pycharm中下载wordcloud包,用各种镜像都下不了,搞了一晚上。
所有,可以试试以下方法:
①在python路径下可以先下载好wordcloud。
下载链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/
在网页的很下面很下面,下载对应自己python版本的wordcloud,我下载的是wordcloud-1.8.1-cp39-cp39-win_amd64.whl
②放在python\Scripts文件夹下面,用cmd打开这个文件夹,运行安装:
pip install wordcloud-1.8.1-cp39-cp39-win_amd64.whl
③然后在python路径下的Lib/site-packages文件夹下,找到这两个文件夹。
把这两个文件夹复制放到pycharm中现在正在运行的文件路径里,就好啦!!!
亲测有效!
3、imageio包和停用词
imageio是个图像模块,可以用作词云图导入图像,直接在pycharm中下载就好。
cn_stopwords.txt是停用词文档,里面有一些对我们分类没有用的词,譬如一、一个之类的,在百度搜索就能下载。
完整代码
# 导入中文分词库
import jieba
# 词云图库
import wordcloud
# 图像模块
import imageio
file = open('chengdu01.txt', mode='r', encoding='utf-8')
txt = file.read()
# print(txt)
txt_list = jieba.lcut(txt)
# print('分词结果',txt_list)
string = ''.join(txt_list)
# print('合并分词',string)
# 制作词云图
# 读取图像
img = imageio.imread('鸟.png')
# 设置词云图
wc = wordcloud.WordCloud(
width=1000, # 词云图的宽
height=7000, # 词云图的高
background_color='white', # 词云图背景颜色
font_path='msyh.ttc', # 词云字体,微软雅黑,win系统自带
scale=10, # 字体大小
mask=img,
stopwords=set([line.strip() for line in open('cn_stopwords.txt', mode='r', encoding='utf-8').readline()])
)
print('正在绘制词云图。。。。')
wc.generate(string)
wc.to_file('output.png')
print('词云图制作成功!!!')
输出结果
我用的是网易云音乐成都,下面的评论。
最后生成的词云图是这样的:
最后的思考
其实代码很少,还很难理解,难的是,要去下载很多的库,下都下不下来呜呜呜搞了一晚上。
完成,去搞吃的。