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 相关文章推荐
Python2.5/2.6实用教程 入门基础篇
Nov 29 Python
Python socket.error: [Errno 98] Address already in use的原因和解决方法
Aug 25 Python
Python中字典和JSON互转操作实例
Jan 19 Python
Python中的urllib模块使用详解
Jul 07 Python
利用Python自动监控网站并发送邮件告警的方法
Aug 24 Python
Python正则替换字符串函数re.sub用法示例
Jan 19 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
Falsk 与 Django 过滤器的使用与区别详解
Jun 04 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
Jul 17 Python
基于python 等频分箱qcut问题的解决
Mar 03 Python
python两个list[]相加的实现方法
Sep 23 Python
python3中TQDM库安装及使用详解
Nov 18 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 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
php中使用websocket详解
2016/09/23 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
不使用jquery实现js打字效果示例分享
2014/01/19 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
AngularJS中$watch和$timeout的使用示例
2016/09/20 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
python 执行shell命令并将结果保存的实例
2018/05/11 Python
解读python如何实现决策树算法
2018/10/11 Python
pytorch数据预处理错误的解决
2020/02/20 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
基于python生成英文版词云图代码实例
2020/05/16 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
Sneaker Studio法国:购买运动鞋
2018/06/08 全球购物
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
程序员跳槽必看面试题总结
2013/06/28 面试题
便利店的创业计划书
2014/01/15 职场文书
学校节能减排倡议书
2014/05/16 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
西安兵马俑导游词
2015/02/02 职场文书
工程质量保证书
2015/05/09 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
用Python创建简易网站图文教程
2021/06/11 Python
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技