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优先队列实现方法示例
Sep 21 Python
python实现批量解析邮件并下载附件
Jun 19 Python
Python运维自动化之nginx配置文件对比操作示例
Aug 29 Python
Python使用logging模块实现打印log到指定文件的方法
Sep 05 Python
Python3.5装饰器原理及应用实例详解
Apr 30 Python
Django框架之登录后自定义跳转页面的实现方法
Jul 18 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
Jul 25 Python
Django 重写用户模型的实现
Jul 29 Python
Django用户认证系统 组与权限解析
Aug 02 Python
Pycharm小白级简单使用教程
Jan 08 Python
Python Pillow(PIL)库的用法详解
Sep 19 Python
Python析构函数__del__定义原理解析
Nov 20 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将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
微信小程序 扎金花简单实例
2017/02/21 Javascript
vue.js中过滤器的使用教程
2017/06/08 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
2019/06/21 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
[49:18]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 OG vs TNC
2018/04/01 DOTA
举例详解Python中yield生成器的用法
2015/08/05 Python
python模块之re正则表达式详解
2017/02/03 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
Python中的heapq模块源码详析
2019/01/08 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
animation和transition的区别
2020/10/12 HTML / CSS
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
演讲稿怎么写
2014/01/07 职场文书
工作证明格式及范本
2014/09/12 职场文书
2014年招生工作总结
2014/11/26 职场文书
2015个人半年总结范文
2015/03/09 职场文书
高考百日冲刺决心书
2015/09/23 职场文书
Python保存并浏览用户的历史记录
2022/04/29 Python