教你用Python生成词云
程序员有三种美德:懒惰,急躁和傲慢
平时在网上经常看到这样的图片
我就想,这些东西能不能用python实现呢,果然python库无所不在,有一个库wordcloud就是干这个的
如果你没有可以使用pip下载安装
首先我们想象做这东西都需要什么东西
1.因为都是用词组成的,需要很多词,如果提供的是文本则需要分词操作
2.这些词有大有小,大小和出现的频率有关系
3.图有形状
首先我们来解决一下分词的问题,做这东西也有相应的库,名字叫jieba
名字比较奇怪,反过来想也挺形象,结巴说话就是蹦词嘛,哈哈
wordlist_jieba=jieba.cut(text)
引入jieba,一句话分词,返回一个列表
wordcloud=WordCloud(background_color="black",max_words=150,max_font_size=85,font_path="FZLTXIHK.TTF").generate(text)image=wordcloud.to_image()image.show()
然后使用wordcloud来生成词云,参数的作用就是名字(背景颜色 最大词数量 最大字体 字体文件路径)
然后使用to_image转换成图片,最后显示出来
但是你会发现一个问题,一段话里面有很多你不想要的词,不管中国人说话还是外国人说话语句中就有很多语气助词,连接词等等,比如:然后,这些,那些,所以,但是,因为
我们不想要这些词,我们可以使用stopw0rds来去除这些词
然后我还需要改变词云的外形,因为默认的形状是矩形,很难看
这里还需要两个库,一个是PIL处理图片的,一个是numpy科学计算的
mask_pic=numpy.array(Image.open(os.path.join(cur_path,"love.jpg")))
使用os.path.join生成一个指定环境下指定文件名的路径,使用Image.open打开图片,再使用numpy.array把图片转换为数组
然后在生成词云时添加参数mask值为图像数组就好了,mask相当于一个遮罩层
完整代码发一份
from wordcloud import WordCloud
import jieba
import numpy
import PIL.Image as Image
import osstopwords={"然后":0,"这些":0,"那些":0,"所以":0,"但是":0}
cur_path=os.path.dirname(__file__)+"./resources"def chinese_jieba(text):wordlist_jieba=jieba.cut(text)text_jieba=" ".join(wordlist_jieba)return text_jiebawith open(os.path.join(cur_path,"qingshi.txt")) as file:text=file.read()text=chinese_jieba(text)mask_pic=numpy.array(Image.open(os.path.join(cur_path,"love.jpg")))# print(text)#背景颜色 词数量 词字体大小 字体文件路径(需要放到和py文件同一个路径下) 去掉的词 遮罩层wordcloud=WordCloud(background_color="black",max_words=150,max_font_size=85,font_path="FZLTXIHK.TTF",stopwords=stopwords,mask=mask_pic).generate(text)image=wordcloud.to_image()image.show()
生成图:
这是用一百首情诗做出来的,一百首情诗的浓缩,程序猿的浪漫
教你用Python生成词云相关推荐
- python 词云_利用Python生成词云
利用Python生成词云 一.第三方库的安装与介绍 1.1 Python第三方库jieba(中文分词) 1.介绍 "结巴"中文分词:做最好的 Python 中文分词组件. 2.特 ...
- Hadoop3.0基础平台搭建(三节点),以及案例运行并使用python生成词云
一.设备配置列表,软件包 二.主机名映射 三.生成密钥 四.将密钥发送到各个节点 五.注意事项及验证 六.关闭防火墙和SeLinux安全模块(所有主机均需操作 七.解压JDK.hadoop包,设置Ja ...
- python词云改颜色_一种用Python生成词云
一种用Python生成词云 我们在阅读一篇很长的文章时,总先看看文章的关键词来获知文章的大概内容.今天我们就来制作一个词云程序,将文章中出现次数较多的词语提取出来,生成一张词云图. 词云图的生成原理: ...
- 手机python软件怎么下载词云_从零开始教你用 Python 做词云
原标题:从零开始教你用 Python 做词云 雷锋网按:本文作者王树义,原载于微信公众号玉树芝兰(nkwangshuyi),雷锋网经授权发布. 临渊羡鱼,不如退而结网.我们步步为营,从头开始帮助你用P ...
- python生成词云代码无错窗口空框_10分钟教你用Python生成属于自己的词云图
1 #导入需要模块 import jieba from PIL import Image import numpy as np import matplotlib.pyplot as plt from ...
- python制作词云时出现figure1 figure2_用Python生成词云
词云是一种数据可视化技术,用于表示文本数据,其中每个单词的大小表示其出现的频率或重要性. 可以使用词云突出显示重要的文本数据点. 词云被广泛用于分析来自社交网络网站的数据. 为了在Python中生成词 ...
- python生成词云很慢吗_词云制作没那么难,Python 10 行代码就实现了!
写在前面 想必大家有一个问题.什么是词云呢? 词云又叫名字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略 ...
- python生成词云_词云制作没那么难,Python 10 行代码就实现了!
欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信"学习资料"可以领取包括不限于Python实战演练.PDF电子文档.面试集锦.学习资料等. 写在前面 想必大家有一个问 ...
- python 生成词云
#/usr/bin/env python # *-*coding:utf-8 *-* #模块介绍https://amueller.github.io/word_cloud/ #python 3.5.2 ...
最新文章
- 解决Parameter ‘__frch_item_0‘ not found. Available parameters 问题
- 18香警告:一个女生勿近的邪恶开源项目...
- 小米 一亿像素传感器 笔记
- 那些不敢生孩子的女人,都在怕什么?
- netcore一键部署到linux服务器以服务方式后台运行
- maven 构建 springmvc + spring security 权限控制示例
- BZOJ2612 : [Poi2003]Sums
- python函数的嵌套调用_python函数的嵌套调用
- 算法面试避坑指南,助你轻松应对Java面试
- html5 viewpor,FileViewPro
- 一个6年java程序员的工作感悟,写给还在迷茫的你
- Deep Learning-Deep feedforward network
- SVN工具的安装和使用
- 数据库出错提示Duplicate entry * for key *的解决方法
- 【NLP】句法分析学习笔记(一)
- 将java封装的实体类数据生成excel供下载
- 002 免格式化U盘部署PE(BIOS)
- 算法分析-时间复杂度:大O、大Ω、大θ、小o、小ω
- setoolkit进行钓鱼攻击
- 关于为什么sklearn画出来的ROC曲线图是折线的问题