Python通过文本和图片生成词云图


Posted in Python onMay 21, 2020

使用现有的txt文本和图片,就可以用wordcloud包生成词云图。大致步骤是:

1、读取txt文本并简单处理;

2、读取图片,以用作背景;

3、生成词云对象,保存为文件。

需要用到3个库:jieba(用于分割文本为词语)、imageio(用于读取图片)、wordcloud(功能核心,用于生成词云)。

我用简历和我的照片,生成了一个词云图:

Python通过文本和图片生成词云图

代码如下:

import jieba
import imageio
import wordcloud


# 读取txt文本
with open('resume.txt','r',encoding='utf-8') as f:
  text = f.read()

# 简单处理文本,删除空格等多余字符
text = text.replace(' ','').replace('\t','').replace('\n','')
# 使用jieba分隔词语
wordlist = jieba.lcut(text)  # ['aa','bb','cc'...]
# print(wordlist)
# 用空格连接各个词语,又形成一个大字符串
string = ' '.join(wordlist)  # 'aa bb cc'

# 读取图片
image = imageio.imread('ding.jpg')


# 生成词云图片
# 先实例化一个词云对象
wc = wordcloud.WordCloud(width=image.shape[0], # 词云图宽度同原图片宽度
            height=image.shape[1],
            background_color='white', # 背景颜色白色
            font_path='msyh.ttc', # 指定字体路径,微软雅黑,可从win自带的字体库中找
            mask=image,  # mask 指定词云形状图片,默认为矩形
            scale=3)  # 默认为1,越大越清晰
# 再给词云输入文字
wc.generate(string)
# 保存成文件
wc.to_file('wordcloud21.png')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的装饰器用法详解
Jan 14 Python
Python中的异常处理学习笔记
Jan 28 Python
python urllib urlopen()对象方法/代理的补充说明
Jun 29 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
Dec 15 Python
matplotlib绘图实例演示标记路径
Jan 23 Python
总结python中pass的作用
Feb 27 Python
Python利用sqlacodegen自动生成ORM实体类示例
Jun 04 Python
python字符串切割:str.split()与re.split()的对比分析
Jul 16 Python
通过Python实现Payload分离免杀过程详解
Jul 13 Python
Python实现上下文管理器的方法
Aug 07 Python
python实现测试工具(一)——命令行发送get请求
Oct 19 Python
Python截图并保存的具体实例
Jan 14 Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 #Python
Python 实现敏感目录扫描的示例代码
May 21 #Python
基于python检查矩阵计算结果
May 21 #Python
Django 解决由save方法引发的错误
May 21 #Python
Python OrderedDict字典排序方法详解
May 21 #Python
django中嵌套的try-except实例
May 21 #Python
Spark处理数据排序问题如何避免OOM
May 21 #Python
You might like
PHP生成静态页面详解
2006/12/05 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
PHP获取数组长度或某个值出现次数的方法
2015/02/11 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
List Installed Software Features
2007/06/11 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
jQuery树控件zTree使用方法详解(一)
2017/02/28 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
Electron-vue脚手架改造vue项目的方法
2018/10/22 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
2019/05/28 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
[38:41]2014 DOTA2国际邀请赛中国区预选赛 LGD VS CNB
2014/05/22 DOTA
[01:38]DOTA2辉夜杯 欢乐的观众现场采访
2015/12/26 DOTA
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
Python中的作用域规则详解
2015/01/30 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
Python多进程multiprocessing用法实例分析
2017/08/18 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
2019/08/02 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
浅析PEP570新语法: 只接受位置参数
2019/10/15 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
Python模块zipfile原理及使用方法详解
2020/08/04 Python
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
质检员的岗位职责
2013/11/15 职场文书
初中英语课后反思
2014/04/25 职场文书
给校长的建议书400字
2014/05/15 职场文书
电子工程求职信
2014/07/17 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书