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 02 Python
Windows下python2.7.8安装图文教程
May 26 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
Python简单计算数组元素平均值的方法示例
Dec 26 Python
python使用锁访问共享变量实例解析
Feb 08 Python
使用python脚本实现查询火车票工具
Jul 19 Python
PyCharm代码回滚,恢复历史版本的解决方法
Oct 22 Python
python实现生成字符串大小写字母和数字的各种组合
Jan 01 Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 Python
Python实现的文轩网爬虫完整示例
May 16 Python
Python实现FTP文件定时自动下载的步骤
Dec 19 Python
anaconda升级sklearn版本的实现方法
Feb 22 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的引用计数机制
2013/06/14 PHP
php文件下载处理方法分析
2015/04/22 PHP
比较完整的微信开发php代码
2016/08/02 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
PHP实现RTX发送消息提醒的实例代码
2017/01/03 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
jQuery之选择组件的深入解析
2013/06/19 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
js实现自动轮换选项卡
2017/01/13 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
vue自定v-model实现表单数据双向绑定问题
2018/09/03 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
JS常见错误(Error)及处理方案详解
2020/07/02 Javascript
浅谈vue中resetFields()使用注意事项
2020/08/12 Javascript
python3使用tkinter实现ui界面简单实例
2014/01/10 Python
Python中的单行、多行、中文注释方法
2018/07/19 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
2019/10/30 Python
python实现XML解析的方法解析
2019/11/16 Python
Python3 利用face_recognition实现人脸识别的方法
2020/03/13 Python
计算机专业自我鉴定
2013/10/15 职场文书
大学生活动总结怎么写
2014/04/29 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
撤诉书怎么写
2015/05/19 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记