Python制作词云的方法


Posted in Python onJanuary 03, 2018

需求:

看到朋友圈有人发词云照片,感觉自己也可以玩一玩,于是乎借助wordcloud实现功能。

环境:

MacOS 10.12 +Python 2.7 +Wordcloud
Windows通用

准备:

安装wordcloud

$ pip install wordcloud

SIP功能是Apple在OSX上推出的系统完整性保护功能,新版本的macOS直接用pip安装报错,在不关闭SIP功能的前提下,可以使用

$ pip install wordcloud --user -U

某些情况还会提示错误,需要安装VS for Python,直接上官网下载安装即可。

实现:

源码

#! /usr/bin/env python

# import
from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS

# current path
d = path.dirname(__file__)

# Read the whole text.
text = open(path.join(d, 'test.txt')).read()

# read the mask image
test_mask = np.array(Image.open(path.join(d, "test_mask.png")))

stopwords = set(STOPWORDS)
stopwords.add("said")

# setting
wc = WordCloud(background_color="black", max_words=2000, mask=test_mask,
        stopwords=stopwords)

# generate word cloud
wc.generate(text)

# plot and show
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.figure()
plt.imshow(test_mask, cmap=plt.cm.gray, interpolation='bilinear')
plt.axis("off")
plt.show()

# store to file
wc.to_file(path.join(d, "test.png"))

辅助文件

test_mask.png

Python制作词云的方法

test.txt

The list of big's prior run-ins with the far-right fringe is long and varied. He tweeted fake crime statistics spread by racists to paint black cans as violent, then defended them as credible. He sparked a firestorm last year when he declined to renounce

效果图

Python制作词云的方法

其它说明:

1.文档可以是任意英文txt文件,以上的是网络上英文新闻中的一小段,仅起示例作用。
2.关于中文支持,有多种方法,主要就是分词的问题,这里不讨论了。
3.我不清楚许多人说的定制是什么意思,因为如果想要自己任意想要的形状的话,我觉得用PS做一个png图可以达到同样的效果,经测试也没有发现问题。
4.写的第一篇文章,不足之处欢迎来喷,毕竟我是要学习的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python正则表达式介绍
Aug 06 Python
详解Python的Django框架中的通用视图
May 04 Python
详解使用Python处理文件目录的相关方法
Oct 16 Python
Python 爬虫学习笔记之多线程爬虫
Sep 21 Python
python解析基于xml格式的日志文件
Feb 25 Python
解决matplotlib库show()方法不显示图片的问题
May 24 Python
python中单例常用的几种实现方法总结
Oct 13 Python
Python 中Django验证码功能的实现代码
Jun 20 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
Aug 20 Python
python 实现将Numpy数组保存为图像
Jan 09 Python
在python3中使用shuffle函数要注意的地方
Feb 28 Python
用Python实现屏幕截图详解
Jan 22 Python
Python读取Json字典写入Excel表格的方法
Jan 03 #Python
python基于ID3思想的决策树
Jan 03 #Python
python遍历文件夹下所有excel文件
Jan 03 #Python
Python将多份excel表格整理成一份表格
Jan 03 #Python
Python将多个excel文件合并为一个文件
Jan 03 #Python
python中的字典操作及字典函数
Jan 03 #Python
Python将多个excel表格合并为一个表格
Feb 22 #Python
You might like
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
PHP 等比例缩放图片详解及实例代码
2016/09/18 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
JavaScript针对网页节点的增删改查用法实例
2015/02/02 Javascript
javascript通过元素id和name直接取得元素的方法
2015/04/28 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
2015/09/22 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
vue计算属性时v-for处理数组时遇到的一个bug问题
2018/01/21 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
实例详解Matlab 与 Python 的区别
2019/04/26 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
微信小程序python用户认证的实现
2019/07/29 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
Html5 APP中监听返回事件处理的方法示例
2018/03/15 HTML / CSS
浅谈Html5移动端ios/Android兼容性总结
2018/06/01 HTML / CSS
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
机电工程专业应届生求职信
2013/10/03 职场文书
婚礼证婚人证婚词
2014/01/08 职场文书
优秀学生获奖感言
2014/02/15 职场文书
优秀护士获奖感言
2014/02/20 职场文书
求职面试个人自我评价
2014/02/28 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
工作后的感想
2015/08/07 职场文书