Jimmy自学Python——利用WordCloud绘制中英文词云图

大家好!
 

致谢

  首先要感谢CSDN各位博主,本文是在参考许多博主的文章下完成的。在Python的学习过程中,各位渊博的专业知识和精深的技术水平都给我留下了深刻的印象,使我在学习、研究和工作中受益非浅。并且从本文的选题一直到最后的完成,各位博主都是本人Python学习道路上重要的指路人。在此文完成之际,谨向各位表示深深的敬意和衷心的感谢!
  投之以桃,报之以李,参考文献在最后一个章节中体现,各位朋友可以查阅,本文也会不断补充和完善,希望大家留言,共同学习,共同进步。

摘要

  本文参考了许多Python词云图的文章,许多文章是针对Python 2完成,2与3之间许多模块包的使用存在些许差别,这些差别使许多初学者产生很多困惑,本次针对Python 3的词云图进行了归纳整理,并进行了细致的备注,希望可以帮助到更多的初学者,少踩一些雷。
  本文主要运用wordcloud模块,对中英文数据进行词云图绘制。本人学识有限,如有错误,敬请各位不吝赐教,批评指正。
  关键词: WordCloud;分词;停止词;

一、环境配置

(一) 软件配置

软件 版本
PyCharm 2019.1.4
Python 3.7

(二) 模块包配置

名称 版本
wordcloud 1.6.0
Pillow 6.2.1
numpy 1.16.4
jieba 0.40
chardet 3.0.4
matplotlib 3.1.1

  PIL其实只是python2的专利,它并没有跟随python的进化而进化。有大师为此,专门写了一个针对python3的pillow模块。所以,如果需要安装python3对应的PIL,应该选择安装pillow。调用时的代码还是import PIL[5]

二、词云图绘制

(一) WordCloud词云图

1、英文词云图

(1) 基本词云图
  本次选用英文版的《包法利夫人》(MadameBovary.txt)作为分析材料,如下图所示。
在这里插入图片描述
将MadameBovary.txt与py文件放到同一个文件夹,然后执行以下代码。

import os
from os import path
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 获取当前文件路径
d = path.dirname(__file__) if "__file__" in locals() else os.getcwd()
# os.getcwd()返回当前工作目录
# locals() ,没有参数,函数会以字典类型返回当前位置的全部局部变量。
# __file__表示当前.py文件的绝对路径;绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径
# 获取文本text
text = open(path.join(d,'MadameBovary.txt'),encoding='gb18030', errors='ignore').read()
#os.path.join()函数: 连接两个或者更多的路径名组件
# 加入(encoding='gb18030', errors='ignore')是为了防止出现解码错误,是可以省略的,但省略后如出现错误,可查阅“参考文献[1]”
wc = WordCloud(scale=1,max_font_size = 100)
# 词云参数设置
wc.generate(text)
# genarate  v.生成;   Python中称为使用生成器
plt.imshow(wc,interpolation='bilinear')
# 显示图像
# bilinear  adj.双直线的;双线性的;双一次性的;
plt.axis('off')
#隐藏坐标轴
plt.tight_layout()
#tight_layout会自动调整子图参数,使之填充整个图像区域。
#tight adj. 紧的;紧身的;挤满的;layout n.排版;布局;设计
plt.savefig('tu1.png',dpi=300)
#保存词云图,分辨率为300,也可以用 wc.to_file('1900_basic.png')
plt.show()
#plt.imshow()函数负责对图像进行处理,并显示其格式
#plt.show()则是将plt.imshow()处理后的函数显示出来。

词云图结果如下所示。
在这里插入图片描述
(2) 基本词云图 +设置停止词+自定义图片
  文本材料不变,自定义图片选用一只大象的图案。
在这里插入图片描述
  停止词用来筛除文本中不需要的词汇,

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值