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中输出ASCII大文字、艺术字、字符字小技巧
Apr 28 Python
使用Python来开发Markdown脚本扩展的实例分享
Mar 04 Python
PyCharm使用教程之搭建Python开发环境
Jun 07 Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 Python
用Python实现最速下降法求极值的方法
Jul 10 Python
Python concurrent.futures模块使用实例
Dec 24 Python
python由已知数组快速生成新数组的方法
Apr 08 Python
如何使用Pytorch搭建模型
Oct 26 Python
Python中过滤字符串列表的方法
Dec 22 Python
pytorch finetuning 自己的图片进行训练操作
Jun 05 Python
python入门学习关于for else的特殊特性讲解
Nov 20 Python
使用pd.merge表连接出现多余行的问题解决
Jun 16 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导出csv格式数据并将数字转换成文本的思路以及代码分享
2014/06/05 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
PHP连接MySQL数据的操作要点
2015/03/20 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
PHP实现小偷程序实例
2016/10/31 PHP
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
移动节点的jquery代码
2014/01/13 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
[30:51]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第一局
2016/03/04 DOTA
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
如何基于python实现脚本加密
2019/12/28 Python
python实现用户名密码校验
2020/03/18 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
精通CAD能手自荐书
2014/01/31 职场文书
优秀幼教自荐信
2014/02/03 职场文书
幼儿园教师教育感言
2014/02/28 职场文书
教师节宣传方案
2014/05/23 职场文书
机关作风建设工作总结
2014/10/23 职场文书
个人党性分析材料
2014/12/19 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
怎样写好工作计划
2019/04/10 职场文书