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中的List转化成dictionary
Aug 15 Python
Linux 下 Python 实现按任意键退出的实现方法
Sep 25 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
Jul 20 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
Sep 26 Python
Python实现自动发送邮件功能
Mar 02 Python
python学生信息管理系统
Mar 13 Python
Python3使用正则表达式爬取内涵段子示例
Apr 22 Python
对Python中画图时候的线类型详解
Jul 07 Python
django和flask哪个值得研究学习
Jul 31 Python
python如何利用Mitmproxy抓包
Oct 10 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
Nov 20 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 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
smarty实例教程
2006/11/19 PHP
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
php 错误处理经验分享
2011/10/11 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
php使用ereg验证文件上传的方法
2014/12/16 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
PHP使用缓存即时输出内容(output buffering)的方法
2015/08/03 PHP
php精度计算的问题解析
2019/06/21 PHP
DOM 基本方法
2009/07/18 Javascript
使用JQuery进行跨域请求
2010/01/25 Javascript
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
jQuery Validate验证框架详解(推荐)
2016/12/17 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
Python中多线程thread与threading的实现方法
2014/08/18 Python
使用Python发送邮件附件以定时备份MySQL的教程
2015/04/25 Python
Windows下PyMongo下载及安装教程
2015/04/27 Python
python动态性强类型用法实例
2015/05/09 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
python发送邮件功能实现代码
2016/07/15 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
工作个人的自我评价
2014/01/14 职场文书
《唯一的听众》教学反思
2014/02/20 职场文书
2015年工程师工作总结
2015/04/30 职场文书
超级礼物观后感
2015/06/15 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书
python实现图片批量压缩
2021/04/24 Python
如何判断pytorch是否支持GPU加速
2021/06/01 Python
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle