Python通过文本和图片生成词云图
作者:djl_djl 发布时间:2023-08-03 09:39:35
标签:Python,文本,图片,词云,图
使用现有的txt文本和图片,就可以用wordcloud包生成词云图。大致步骤是:
1、读取txt文本并简单处理;
2、读取图片,以用作背景;
3、生成词云对象,保存为文件。
需要用到3个库:jieba(用于分割文本为词语)、imageio(用于读取图片)、wordcloud(功能核心,用于生成词云)。
我用简历和我的照片,生成了一个词云图:
代码如下:
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')
来源:https://www.cnblogs.com/djlbolgs/p/12912625.html
0
投稿
猜你喜欢
- 这篇文章主要介绍下如何创建并调用函数。print():是打印放入对象的函数 len():是返回对象长度的函数 input():是让用户输入对
- 问题描述在消费rabbitMQ队列时, 每次进入回调函数内需要进行一些比较耗时的操作;操作完成后给rabbitMQ server发送ack信
- 通常人们使用以下两种方法来执行SQL语句: Set Rs=Conn.Execute(SqlStr) 和&nbs
- requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢
- 引言https://github.com/go-chassis/go-chassis是一个微服务开发框架,而微服务开发框架带来的其中一个课题
- insert into(列名) select 列名 from 表名 where 条件 --不创建表,只复制表数据 select 列名 int
- 本文实例讲述了python使用自定义user-agent抓取网页的方法。分享给大家供大家参考。具体如下:下面python代码通过urllib
- Python中yaml文件的读写(使用PyYAML库)。最近在搭建自动化测试项目过程中经常遇到yaml文件的读写,为了方便后续使用,决定记下
- '去掉字符串头尾的连续的回车和空格 function trimVBcrlf(str) tr
- 锁是指在某组资源中,两个或两个以上的线程在执行过程中,在争夺某一资源时而造成互相等待的现象,若无外力的作用下,它们都将无法推进下去,死时就可
- 其实这里的静态页面并不是真正意义上的静态,但可以达到了静态页面的解析效率,还未经项目测试,拿来分享。代码如下:<% Cons
- 在不久前的一天,当我为了解决一个语法问题来翻阅VBscript文档时,偶然间发现在了下面的一句话: &nb
- 导语好消息!下一个假期已经在路上了,正在向我们招手呢!大家只要再坚持5天就能迎来中秋小长假啦~“海上生明月,天涯共此时”又是一年中秋至!快跟
- 函数声明为:func Notify(c chan<- os.Signal, sig ...os.Signal)官方描述:Notify函
- import Exception# except 在捕获错误异常的时候 是要根据具体的错误类型来捕获的# 用一个块 可以捕获多个不同类型的异
- function createHashDir($sign) { $md5 = md5($sign); if(!is_dir(MB_CACHE
- 我的朋友没在服务器上设置DSN,可他一样访问数据库,他是怎样做到的? 其实,只要我们知道数据库文件名(比如Access、Parad
- 根据微软论坛作者的英文解释,.NET framework 4.0 安装失败回滚貌似是因为“msvcr100_clr0400.d
- <% '#######以下是一个类文件,下面的注解是调用类的方法####################
- 如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。请回想一下在硬盘上是如何查找文件的。您肯