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实现面向对像的ASP程序实例
Nov 10 Python
python入门之语句(if语句、while语句、for语句)
Jan 19 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
Dec 19 Python
Python脚本获取操作系统版本信息
Dec 17 Python
python 捕获shell脚本的输出结果实例
Jan 04 Python
Python中单、双下划线的区别总结
Dec 01 Python
matplotlib subplots 调整子图间矩的实例
May 25 Python
Python实现KNN(K-近邻)算法的示例代码
Mar 05 Python
python 图像的离散傅立叶变换实例
Jan 02 Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 Python
在tensorflow中设置保存checkpoint的最大数量实例
Jan 21 Python
python实现数字炸弹游戏
Jul 17 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多用户计数器代码
2007/03/11 PHP
php正则校验用户名介绍
2008/07/19 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
NodeJS Web应用监听sock文件实例
2015/02/18 NodeJs
nodejs开发微博实例
2015/03/25 NodeJs
Angular 页面跳转时传参问题
2016/08/01 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
2020/06/17 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
python k-近邻算法实例分享
2014/06/11 Python
Python卸载模块的方法汇总
2016/06/07 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
2019/02/26 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
python函数定义和调用过程详解
2020/02/09 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
Django Auth用户认证组件实现代码
2020/10/13 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
深入浅析HTML5中的SVG
2015/11/27 HTML / CSS
佳能法国商店:Canon法国
2019/02/14 全球购物
初中生三年学习生活的自我评价
2013/11/03 职场文书
经理助理岗位职责
2014/03/05 职场文书
学习保证书范文
2014/04/30 职场文书
2014年公务员转正工作总结
2014/11/07 职场文书
幼儿教师辞职信范文
2015/03/02 职场文书
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python