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 continue语句用法实例
Mar 11 Python
python网络编程学习笔记(九):数据库客户端 DB-API
Jun 09 Python
Linux下使用python调用top命令获得CPU利用率
Mar 10 Python
Eclipse中Python开发环境搭建简单教程
Mar 23 Python
Python数据结构之栈、队列的实现代码分享
Dec 04 Python
python操作excel的方法
Aug 16 Python
Django压缩静态文件的实现方法详析
Aug 26 Python
Python使用lambda表达式对字典排序操作示例
Jul 25 Python
python函数定义和调用过程详解
Feb 09 Python
Python生成器实现简单"生产者消费者"模型代码实例
Mar 27 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
Nov 29 Python
Python 多线程之threading 模块的使用
Apr 14 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学习之PHP变量
2006/10/09 PHP
基于PHP文件操作的详解
2013/06/05 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
php使用递归计算文件夹大小
2014/12/24 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
JS基础随笔(菜鸟必看篇)
2016/07/13 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
[01:01:31]2018DOTA2亚洲邀请赛3月29日小组赛B组 Mineski VS paiN
2018/03/30 DOTA
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
Python实现统计单词出现的个数
2015/05/28 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
python实现经纬度采样的示例代码
2020/12/10 Python
用Python实现职工信息管理系统
2020/12/30 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
塔吉特百货公司官网:Target
2017/04/27 全球购物
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
中药专业大学生医药工作求职信
2013/10/25 职场文书
优秀员工评语
2014/02/10 职场文书
2015年万圣节活动总结
2015/03/24 职场文书
中国合伙人观后感
2015/06/02 职场文书
2019年励志签名:致拼搏路上的自己
2019/10/11 职场文书
MySQL sql_mode的使用详解
2021/05/08 MySQL
JS实现九宫格拼图游戏
2022/06/28 Javascript