Python制作词云的方法
作者:抑郁工头 发布时间:2021-08-26 19:52:20
需求:
看到朋友圈有人发词云照片,感觉自己也可以玩一玩,于是乎借助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
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
效果图
其它说明:
1.文档可以是任意英文txt文件,以上的是网络上英文新闻中的一小段,仅起示例作用。
2.关于中文支持,有多种方法,主要就是分词的问题,这里不讨论了。
3.我不清楚许多人说的定制是什么意思,因为如果想要自己任意想要的形状的话,我觉得用PS做一个png图可以达到同样的效果,经测试也没有发现问题。
4.写的第一篇文章,不足之处欢迎来喷,毕竟我是要学习的。
来源:http://blog.csdn.net/destinymf/article/details/77849904


猜你喜欢
- mpvue使用# 全局安装 vue-cli$ npm install --global vue-cli# 创建一个基于 mpvue-quic
- 本文实例讲述了Python实现PS图像抽象画风效果的方法。分享给大家供大家参考,具体如下:今天介绍一种基于图像分割和color map 随机
- OpenCV中在图片上输出中文一般需要借助FreeType库实现。FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它
- <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> &nbs
- Python之Web框架Django项目搭建全过程IDE说明:Win7系统Python:3.5Django:1.10Pymysql:0.7.
- 本文实例讲述了JavaScript实现的反序列化json字符串操作。分享给大家供大家参考,具体如下:JavaScript中如何反序列化jso
- 引用计数Python默认的垃圾收集机制是“引用计数”,每个对象维护了一个ob_ref字段。它的优点是机制简单,当新的引用指向该对象时,引用计
- 数值运算代码:# -*- coding=GBK -*-import cv2 as cv# 数值运算:加减乘除def shu_image(sr
- 本文主要研究的是selenium python浏览器多窗口处理的相关内容,分享了操作实例代码,具体如下:#!/usr/bin/python#
- groupby官方解释DataFrame.groupby(by=None, axis=0, level=None, as_index=Tru
- 前言加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非对称式&a
- 用Python画一个平面的太阳系得到一些朋友的欣赏,然后有同学提出了绘制三维太阳系的要求。从Python画图的角度来说,三维太阳系其实并不难
- 废话不多说了,具体代码如下所示:function getIntAdd($a,$b){$c = '';$bCount = st
- 我在配置mysql时将配置文件中的默认存储引擎设定为了InnoDB。今天查看了MyISAM与InnoDB的区别,在该文中的第七条“MyISA
- 本文实例为大家分享了python tkinter实现屏保程序的具体代码,供大家参考,具体内容如下该脚本摘录自:2014年辛星tkinter教
- 本文意在弄清楚这些概念间的关系及其作用。弄清Mysql在开启事务的情况下,每条sql执行时的加锁操作和MVCC版本控制。为使讨论简单,本文忽
- 对于PyQT4, PyQT5在一些使用上有着比较明显的变化有很大的变化,让人惊讶是在emit和connect上的一些变化比较有意思,相信也是
- swagger介绍Swagger本质上是一种用于描述使用JSON表示的RESTful API的接口描述语言。Swagger与一组开源软件工具
- 我就废话不多说了,大家还是直接看代码吧!import matplotlib.pyplot as pltimport numpy as npf
- 一、理解装饰器所有东西都是对象(函数可以当做对象传递)由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。de