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学习笔记:字典的使用示例详解
Jun 13 Python
Python读取mp3中ID3信息的方法
Mar 05 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
Mar 12 Python
解决已经安装requests,却依然提示No module named requests问题
May 18 Python
解决每次打开pycharm直接进入项目的问题
Oct 28 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
jupyter notebook 中输出pyecharts图实例
Apr 23 Python
Python Lambda函数使用总结详解
Dec 11 Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 Python
flask框架自定义url转换器操作详解
Jan 25 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
Apr 14 Python
用Python写一个简易版弹球游戏
Apr 13 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
我的论坛源代码(九)
2006/10/09 PHP
PHP中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
jQuery自定义添加"$"与解决"$"冲突的方法
2015/01/19 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
linux下安装easy_install的方法
2013/02/10 Python
Python实现全角半角转换的方法
2014/08/18 Python
python求crc32值的方法
2014/10/05 Python
Python实现的读写json文件功能示例
2018/06/05 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
python发送告警邮件脚本
2018/09/17 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
解决Python selenium get页面很慢时的问题
2019/01/30 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
2019/12/26 Python
介绍下Java的输入输出流
2014/01/22 面试题
我的大学生活演讲稿
2014/04/25 职场文书
离婚协议书范本样本
2014/08/19 职场文书
反对形式主义、官僚主义、享乐主义和奢靡之风整改措施
2014/09/17 职场文书
幼师求职自荐信
2015/03/26 职场文书