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实现提取XML内容并保存到Excel中的方法
Sep 01 Python
python的pip安装以及使用教程
Sep 18 Python
Python学习笔记之自定义函数用法详解
Jun 08 Python
Python实用工具FuckIt.py介绍
Jul 02 Python
Python 进程之间共享数据(全局变量)的方法
Jul 16 Python
python+logging+yaml实现日志分割
Jul 22 Python
对于Python深浅拷贝的理解
Jul 29 Python
Python拼接字符串的7种方式详解
Mar 19 Python
Django中文件上传和文件访问微项目的方法
Apr 27 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
python实现凯撒密码、凯撒加解密算法
Jun 11 Python
Python 解析xml文件的示例
Sep 29 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游戏编程25个脚本代码
2011/02/08 PHP
PHP线程的内存回收问题
2016/07/08 PHP
PHP的PDO预处理语句与存储过程
2019/01/27 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
基于jquery的无限级联下拉框js插件
2011/10/29 Javascript
ie8模式下click无反应点击option无反应的解决方法
2014/10/11 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
vue实现图片懒加载的方法分析
2020/02/05 Javascript
Python读写docx文件的方法
2018/05/08 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
python 剪切移动文件的实现代码
2018/08/02 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
Python Flask框架扩展操作示例
2019/05/03 Python
python实现通过flask和前端进行数据收发
2019/08/22 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
浅谈Python 参数与变量
2020/06/20 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
教导处工作制度
2014/01/18 职场文书
应届大专生求职信
2014/06/26 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
先进集体事迹材料范文
2014/12/25 职场文书
2016高考感言
2015/08/01 职场文书
Python中的嵌套循环详情
2022/03/23 Python