python生成词云的实现方法(推荐)


Posted in Python onJune 13, 2017

期末复习比较忙过段时间来专门写scrapy框架使用,今天介绍如何用python生成词云,虽然网上有很多词云生成工具,不过自己用python来写是不是更有成就感。

今天要生成的是励志歌曲的词云,百度文库里面找了20来首,如《倔强》,海阔天空是,什么的大家熟悉的。

所要用到的python库有 jieba(一个中文分词库)、wordcould 、matplotlib、PIL、numpy。

首先我们要做的是读取歌词。我将歌词存在了文件目录下励志歌曲文本中。

现在来读取他

#encoding=gbk
lyric= ''
f=open('./励志歌曲歌词.txt','r')
for i in f:
  lyric+=f.read()

加入#encoding=gbk是为了防止后面操作报错SyntaxError: Non-UTF-8 code starting with '\xc0'

然后我们用jieba分词来对歌曲做分词提取出词频高的词

import jieba.analyse
result=jieba.analyse.textrank(lyric,topK=50,withWeight=True)
keywords = dict()
for i in result:
  keywords[i[0]]=i[1]
print(keywords)

得到结果:

python生成词云的实现方法(推荐)

然后我们就可以通过wrodcloud等库来生成词云了

首先先自己找一张图片来作为生成词云的形状的图

python生成词云的实现方法(推荐)

from PIL import Image,ImageSequence
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
image= Image.open('./tim.jpg')
graph = np.array(image)
wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph)
wc.generate_from_frequencies(keywords)
image_color = ImageColorGenerator(graph)
plt.imshow(wc)
plt.imshow(wc.recolor(color_func=image_color))
plt.axis("off")
plt.show()

python生成词云的实现方法(推荐)

保存生成图片

wc.to_file('dream.png')

完整代码:

#encoding=gbk
import jieba.analyse
from PIL import Image,ImageSequence
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
lyric= ''
f=open('./励志歌曲歌词.txt','r')
for i in f:
  lyric+=f.read()


result=jieba.analyse.textrank(lyric,topK=50,withWeight=True)
keywords = dict()
for i in result:
  keywords[i[0]]=i[1]
print(keywords)


image= Image.open('./tim.jpg')
graph = np.array(image)
wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph)
wc.generate_from_frequencies(keywords)
image_color = ImageColorGenerator(graph)
plt.imshow(wc)
plt.imshow(wc.recolor(color_func=image_color))
plt.axis("off")
plt.show()
wc.to_file('dream.png')

以上这篇python生成词云的实现方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的os.path路径模块中的操作方法总结
Jul 07 Python
Django模板变量如何传递给外部js调用的方法小结
Jul 24 Python
python获取指定字符串中重复模式最高的字符串方法
Jun 29 Python
python实现随机梯度下降法
Mar 24 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
python算法与数据结构之冒泡排序实例详解
Jun 22 Python
Django基础知识 URL路由系统详解
Jul 18 Python
python django下载大的csv文件实现方法分析
Jul 19 Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
如何快速一次性卸载所有python包(第三方库)呢
Oct 20 Python
使用python-cv2实现视频的分解与合成的示例代码
Oct 26 Python
Python实现Linux中的du命令
Jun 12 #Python
python正则表达式的使用
Jun 12 #Python
Python简单删除列表中相同元素的方法示例
Jun 12 #Python
Python实现删除列表中满足一定条件的元素示例
Jun 12 #Python
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 #Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
Jun 12 #Python
详谈python http长连接客户端
Jun 12 #Python
You might like
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
php实现的日历程序
2015/06/18 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
2019/04/02 PHP
javascript编程起步(第五课)
2007/02/27 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
2014/02/21 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
JS生成不重复随机数组的函数代码
2014/06/10 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
2015/12/03 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
2016/11/22 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
微信小程序实现的图片保存功能示例
2019/04/24 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
Python的Tornado框架实现图片上传及图片大小修改功能
2016/06/30 Python
详解Python之unittest单元测试代码
2018/01/24 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
python实现图片彩色转化为素描
2019/01/15 Python
解决pycharm同一目录下无法import其他文件
2020/02/12 Python
Python读取表格类型文件代码实例
2020/02/17 Python
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
教研处工作方案
2014/05/26 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书
蔬果开业典礼发言稿应该怎么写?
2019/09/03 职场文书
Java中try catch处理异常示例
2021/12/06 Java/Android