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机器学习之神经网络(一)
Dec 20 Python
pandas创建新Dataframe并添加多行的实例
Apr 08 Python
pytorch + visdom CNN处理自建图片数据集的方法
Jun 04 Python
python使用suds调用webservice接口的方法
Jan 03 Python
kali中python版本的切换方法
Jul 11 Python
Python 脚本的三种执行方式小结
Dec 21 Python
详解pandas中iloc, loc和ix的区别和联系
Mar 09 Python
python访问hdfs的操作
Jun 06 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 Python
Django如何重置migration的几种情景
Feb 24 Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 22 Python
Python之matplotlib绘制饼图
Apr 13 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
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
php 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
php 不使用js实现页面跳转
2014/02/11 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
php绘制一条直线的方法
2015/01/24 PHP
php发送与接收流文件的方法
2015/02/11 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
2018/01/29 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
2017/04/18 Javascript
node+koa2+mysql+bootstrap搭建一个前端论坛
2018/05/06 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
微信小程序实现选项卡效果
2018/11/06 Javascript
vue实现鼠标移入移出事件代码实例
2019/03/27 Javascript
Vue $attrs & inheritAttr实现button禁用效果案例
2020/12/07 Vue.js
JS实现公告上线滚动效果
2021/01/10 Javascript
pyqt4教程之widget使用示例分享
2014/03/07 Python
Python读写Json涉及到中文的处理方法
2016/09/12 Python
Python读取图片为16进制表示简单代码
2018/01/19 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
《逃家小兔》教学反思
2014/02/23 职场文书
《三袋麦子》教学反思
2014/03/02 职场文书
买房委托公证书
2014/04/08 职场文书
追悼词范文大全
2015/06/23 职场文书
信息技术课教学反思
2016/02/23 职场文书
JavaScript 对象创建的3种方法
2021/11/17 Javascript
python神经网络ResNet50模型
2022/05/06 Python