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 元类使用说明
Dec 18 Python
跟老齐学Python之坑爹的字符编码
Sep 28 Python
python实现读取excel写入mysql的小工具详解
Nov 20 Python
python数字图像处理之骨架提取与分水岭算法
Apr 27 Python
django rest framework 数据的查找、过滤、排序的示例
Jun 25 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
Jun 21 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
Aug 30 Python
python绘制玫瑰的实现代码
Mar 02 Python
python生成并处理uuid的实现方式
Mar 03 Python
python如何将两张图片生成为全景图片
Mar 05 Python
keras中的History对象用法
Jun 19 Python
Python实现简单猜数字游戏
Feb 03 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文件操作实现代码分享
2011/09/01 PHP
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
2011/10/31 PHP
PHP中数组的分组排序实例
2014/06/01 PHP
为PHP5.4开启Zend OPCode缓存
2014/12/26 PHP
php实现发送微信模板消息的方法
2015/03/07 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
2016/08/12 PHP
php 的反射详解及示例代码
2016/08/25 PHP
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
Node.js中的process.nextTick使用实例
2015/06/25 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
2020/08/07 Javascript
python基础教程之python消息摘要算法使用示例
2014/02/10 Python
Python内置函数reversed()用法分析
2018/03/20 Python
pip install python 快速安装模块的教程图解
2019/10/08 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
Python IDE环境之 新版Pycharm安装详细教程
2020/03/05 Python
Python如何生成xml文件
2020/06/04 Python
解决pytorch 数据类型报错的问题
2021/03/03 Python
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
Bluebella德国官网:英国性感内衣和睡衣品牌
2019/11/08 全球购物
护士辞职信模板
2014/01/20 职场文书
公务员平时考核实施方案
2014/03/11 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
出纳工作检讨书
2014/10/18 职场文书
公司年会开场白
2015/06/01 职场文书
导游词之清晏园
2019/11/22 职场文书
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js