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爬取可用的代理IP
Aug 18 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
Python 转义字符详细介绍
Mar 21 Python
[原创]pip和pygal的安装实例教程
Dec 07 Python
Anaconda下配置python+opencv+contribx的实例讲解
Aug 06 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
Dec 24 Python
Django如何将URL映射到视图
Jul 29 Python
python防止随意修改类属性的实现方法
Aug 21 Python
Python 切分数组实例解析
Nov 07 Python
Tensorflow训练MNIST手写数字识别模型
Feb 13 Python
Python3运算符常见用法分析
Feb 14 Python
django使用多个数据库的方法实例
Mar 04 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中的三元运算符使用说明
2011/07/03 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
2007/08/13 Javascript
js 单引号 传递方法
2009/06/22 Javascript
js 跨域和ajax 跨域问题小结
2009/07/01 Javascript
JS等比例缩小图片尺寸的实例
2013/02/27 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
JS验证input输入框(字母,数字,符号,中文)
2017/03/23 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
python清理子进程机制剖析
2017/11/23 Python
使用Python实现微信提醒备忘录功能
2018/12/04 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
Python partial函数原理及用法解析
2019/12/11 Python
用 python 进行微信好友信息分析
2020/11/28 Python
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
2015/11/18 面试题
医院护士的求职信范文
2013/12/26 职场文书
大学生期末自我鉴定
2014/02/01 职场文书
致100米运动员广播稿
2014/02/14 职场文书
单方离婚协议书范本(2014版)
2014/09/30 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
施工员岗位职责
2015/02/10 职场文书
护士实习自荐信
2015/03/06 职场文书
html+css 实现简易导航栏功能
2021/04/07 HTML / CSS
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
2021/06/07 Python
OpenFeign实现远程调用
2022/08/14 Java/Android