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 24 Python
[原创]pip和pygal的安装实例教程
Dec 07 Python
Python中的defaultdict与__missing__()使用介绍
Feb 03 Python
python 编码规范整理
May 05 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
Jan 05 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
Jan 03 Python
python实现电子词典
Mar 03 Python
简单了解python调用其他脚本方法实例
Mar 26 Python
Python模块zipfile原理及使用方法详解
Aug 04 Python
Python3 多线程(连接池)操作MySQL插入数据
Jun 09 Python
Python Matplotlib库实现画局部图
Nov 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-msf源码详解
2017/12/25 PHP
javascript实现的动态文字变换
2007/07/28 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
jquery-tips悬浮提示插件分享
2015/07/31 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
select下拉框插件jquery.editable-select详解
2017/01/22 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
全面解读Python Web开发框架Django
2014/06/30 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
python Zmail模块简介与使用示例
2020/12/19 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
super关键字的用法
2012/04/10 面试题
售后服务承诺书模板
2014/05/21 职场文书
校庆活动策划方案
2014/06/05 职场文书
英语系本科生求职信
2014/07/15 职场文书
公司委托书范本5篇
2014/09/20 职场文书
师范生见习报告
2014/10/31 职场文书
2014收银员工作总结范文
2014/12/16 职场文书
催款函范文
2015/06/24 职场文书
小学生读书笔记
2015/07/01 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
background-position百分比原理详解
2021/05/08 HTML / CSS