当前位置:   article > 正文

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()处理后的函数显示出来。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

词云图结果如下所示。
在这里插入图片描述
(2) 基本词云图 +设置停止词+自定义图片
  文本材料不变,自定义图片选用一只大象的图案。
在这里插入图片描述
  停止词用来筛除文本中不需要的词汇,比如:a、an、the 这些。WordCloud模块自带了的英文 StopWords 停止词,可以直接使用。

import os
from os import
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/921303
推荐阅读
相关标签
  

闽ICP备14008679号