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中的并发编程实例
Jul 07 Python
跟老齐学Python之集合的关系
Sep 24 Python
Python实现拼接多张图片的方法
Dec 01 Python
Django 配置多站点多域名的实现步骤
May 17 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
Aug 09 Python
Python中的引用和拷贝实例解析
Nov 14 Python
python实现差分隐私Laplace机制详解
Nov 25 Python
Python3 filecmp模块测试比较文件原理解析
Mar 23 Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 Python
opencv实现图像几何变换
Mar 24 Python
利用Selenium添加cookie实现自动登录的示例代码(fofa)
May 08 Python
Python代码实现双链表
May 25 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 过滤器实现代码
2010/08/09 PHP
学习php笔记 字符串处理
2010/10/19 PHP
php跨域cookie共享使用方法
2014/02/20 PHP
php中实现获取随机数组列表的自定义函数
2015/04/02 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
php 运算符与表达式详细介绍
2016/11/30 PHP
php实现微信发红包功能
2018/07/13 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
一些技巧性实用js代码小结
2009/10/14 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
angular中ui calendar的一些使用心得(推荐)
2017/11/03 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
jQuery利用FormData上传文件实现批量上传
2018/12/04 jQuery
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
详解Python中的序列化与反序列化的使用
2015/06/30 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
戴尔英国官网:Dell英国
2017/05/27 全球购物
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
万户网络JAVA程序员岗位招聘笔试试卷
2013/01/08 面试题
2015年五四青年节活动总结
2015/02/10 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
总经理致辞
2015/07/29 职场文书
导游词之江西赣州
2019/10/15 职场文书
详解CocosCreator消息分发机制
2021/04/16 Javascript