当前位置: 首页 > news >正文

stopwords怎么用_用Python画词云图,展示“新冠肺炎”关键词

第一步:安装相关包

主要有两个,一个是wordcloud,用来生成词云图,另一个是jieba,用来对我的文本进行分词。如果没有的话,就直接用pip在命令行里安装。

pip install wordcloudpip install jieba

安装完成后导入

from wordcloud import WordCloudimport jieba

第二步:读取文本并分词

我从网上下载了一份新冠肺炎的相关材料,并保存为“新冠肺炎.txt”,打开后如图所示:

0ba52b698e53e7954a7c7de4b8cb9181.png

新冠肺炎.txt

然后读取文件,并用jieba对文本进行分词:

with open('新冠肺炎.txt') as f:  # 读取文本    text = f.read()text = text.replace('', "")   # 将回车字符删除text_cut = jieba.lcut(text)     # 分词,每个词作为一个元素,放在列表里text_cut = ' '.join(text_cut)   # 用空格将分好的词连接在一起

第三步:生成词云图

word_cloud = WordCloud(font_path="simsun.ttc",    # 设置词云字体                       background_color="white",  # 词云图的背景颜色                       width=2000,                       height=1600)word_cloud.generate(text_cut)word_cloud.to_file('词云图.png')

运行上面代码后,就会生成一个“词云图.png”文件,打开后如图:

267a88f7a682226daf45caad17dec9db.png

词云图

第四步:额外操作

第一点,如果不想让一些词出现在词云图里怎么办,比如我不想出现“人员”、“工作”、“直接”、“根据”、“或者”这五个词,那么就将它们作为停用词,并传给WordCloud类中stopwords参数。

# 制造停用词stopwords_list = ['人员', '工作', '直接', '根据', '或者']my_stopwords = set(STOPWORDS)     # 这里的STOPWORDS是从wordcloud导入的一个变量for i in stopwords_list:    my_stopwords.add(i)# 使用WordCloud生成词云word_cloud = WordCloud(font_path="simsun.ttc",    # 设置词云字体                       background_color="white",  # 词云图的背景颜色                       width=2000,                       height=1600,                        stopwords=my_stopwords)    # 停用词word_cloud.generate(text_cut)word_cloud.to_file('词云图.png')

现在将生成的图片打开,就看不到被停用的词啦:

79c1d51479b9f071e3fd464f9041d0ae.png

去停用词后词云图

第二点,如何让词云图具有某种形状,比如我想让我的词云图呈现出一个口罩的形状,那就要准备好一个口罩图片,我将其命名为“N95.jpg”,如图:

635ca46ca54d8b2f6905a28bf80ce8a7.png

N95,jpg

然后读取图片,并将其转成numpy数组格式,传给WordCloud类中的mask参数。

# 加入图片background = Image.open("N95.jpg")   #from PIL import Image 没有的话,就用pip install pillow安装PIL包graph = np.array(background)   # import numpy as np 这没啥可说的# 使用WordCloud生成词云word_cloud = WordCloud(font_path="simsun.ttc",    # 设置词云字体                       background_color="white",  # 词云图的背景颜色                       width=2000,                       height=1600,                       stopwords=my_stopwords,    # 停用词                       mask=graph)                # 词云图的形状   word_cloud.generate(text_cut)word_cloud.to_file('词云图.png')

现在生成的词云图就具有口罩的形状啦:

87a9f3275fa20735d3b0b715585d0b28.png

口罩形状词云图

第三点,WordCloud类中的background_color参数默认值是black,但我在本文中使用的是white,因为头条文章的背景色就是白色,这样显得与背景色比较相融。该参数使用的原则就是尽量与我们大环境的背景色相同,如果使用默认的black,效果如下:

bdb1828c951153f8a586ab2076e5bc9b.png

黑色背景词云图


关注微信公众号“Python小镇”,发现更多干货知识!

相关文章:

  • pygame简单小游戏代码_用pygame实现一个简单的垃圾分类小游戏(已获校级二等奖)!...
  • mysql数据迁移到redis_Mysql到Redis的数据迁移方法
  • linux mysql 客户端 安装配置_linux下mysql的安装部署
  • mysql虚拟表的创建_mysql虚拟表
  • win 10 查看mysql密码_win10系统登录mysql时报错1045?查看解决方案
  • 安装好mysql怎么配置_安装好mysql怎么配置
  • pythonwx关闭窗口_如何在WX python中关闭已打开的窗口
  • mysql负载突然飙升_mysql负载飙高原因分析
  • CA系统mysql_MySQL性能优化
  • linux下安装mysql5.5_Linux下安装mysql5.5.19
  • mysql ignore oracle_Oracle impdp的ignore及 fromuser / touser 功能
  • mysql监控命令_MySQL数据库维护中监控所用到的常用命令
  • python windows api移动窗口_Python使用Windows API创建窗口示例【基于win32gui模块】
  • vue 列表内容自动向上滚动_vue 新闻列表滚动效果
  • java 清空文件夹_java 删除文件夹中的所有文件及文件夹
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Angular 响应式表单 基础例子
  • css布局,左右固定中间自适应实现
  • echarts的各种常用效果展示
  • iOS | NSProxy
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • maya建模与骨骼动画快速实现人工鱼
  • PV统计优化设计
  • vue 个人积累(使用工具,组件)
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • vue中实现单选
  • Vultr 教程目录
  • Web设计流程优化:网页效果图设计新思路
  • Yii源码解读-服务定位器(Service Locator)
  • 对象管理器(defineProperty)学习笔记
  • 给Prometheus造假数据的方法
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 使用agvtool更改app version/build
  • 试着探索高并发下的系统架构面貌
  • 数组的操作
  • 推荐一个React的管理后台框架
  • Linux权限管理(week1_day5)--技术流ken
  • 第二十章:异步和文件I/O.(二十三)
  • 数据库巡检项
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (四)c52学习之旅-流水LED灯
  • (算法)Game
  • (转)EOS中账户、钱包和密钥的关系
  • (转)http-server应用
  • . NET自动找可写目录