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+Django+apache的配置方法详解
Jun 01 Python
在Python的Flask中使用WTForms表单框架的基础教程
Jun 07 Python
Python 查找字符在字符串中的位置实例
May 02 Python
python 每天如何定时启动爬虫任务(实现方法分享)
May 21 Python
Python运维开发之psutil库的使用详解
Oct 18 Python
python利用selenium进行浏览器爬虫
Apr 25 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
python 画条形图(柱状图)实例
Apr 24 Python
Django使用rest_framework写出API
May 21 Python
pytorch查看通道数 维数 尺寸大小方式
May 26 Python
python zip()函数的使用示例
Sep 23 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处理斐波那契数列非递归方法
2012/02/04 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
php合并数组并保留键值的实现方法
2018/03/12 PHP
Jquery 插件开发笔记整理
2011/01/17 Javascript
js实现收缩菜单效果实例代码
2013/10/30 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
2017/04/12 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
Angular2之二级路由详解
2018/08/31 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
苹果台湾官网:Apple台湾
2019/01/05 全球购物
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
男方父母证婚词
2014/01/12 职场文书
学雷锋演讲稿
2014/03/04 职场文书
好学生评语大全
2014/05/05 职场文书
音乐教师求职信
2014/06/28 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
2014年文秘工作总结
2014/11/25 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书
SQLServer之常用函数总结详解
2021/08/30 SQL Server