


1. Application of word cloud
Designed module: wordcloud
Editor: sublime text 3
Compiler: Python 3.6
1. Download and install the wordcloud module
pip install wordcloud
2. Import the module and initialize the word cloud object
Let’s open its help document to see how to use it:
You can see that this class is the main class for word cloud initialization. The following are its initialization parameters, so we have to use it:
import wordcloud wc=wordcloud.WordCloud(font_path=r'C:\Windows\Fonts\华康少女文字简W5.ttc',width=200,height=100) #初始化
In order to make the generated word cloud image more beautiful, I added the Huakang Girl font. This font is not included with the system and must be downloaded. After downloading, place it in the window fonts folder.
3.加入文本到词云中
使用初始化的对象来调用文本生成器,我们从帮助函数中可以得出它有两个生成器函数。
这两个生成器函数差不多,而且意思相近,这里不做过多讨论,我们来看下它的使用方法:
wc.generate('任性的90后boy')
这样就从文本中生成词云了。
4.显示词云对象
生成之后,我们需要把它显示出来,那怎么办呢?如图所示:
由此可以看出它有四种生成方式,即为:数组,文件,html,图片。我们随机选择一种,就选文件。
wg.to_file('gf.jpg')
这样就生成了一个以刚才的文本为主的华康少女字体的词云图了,是不是很简单了?别着急,还有大菜。
5.显示词云背景
我们从上幅图片可以看出,字体和图片的颜色都很让人揪心,那么有没有方法改变它们呢?答案当然是有的。
我们可以通过设置词云的背景颜色来改变词云背景:
wordcloud.WordCloud(font_path=r'C:\Windows\Fonts\华康少女文字简W5.ttc',width=200,height=100,background_color="gray")
这样我们可以将背景颜色改为灰色,要是改变字体颜色该怎么办呢?由刚才的帮助文档,我们可以看出有个颜色
生成器类ImageColorGenerator,它负责专门定义我们喜欢的颜色方案,而且它还可以随时修改,不过要在初始化后使用color_func函数进行回调才行,因为ImageColorGenerator传入的是一个图片数组,所以我们需要用到一个可以将图片转化为数组的模块numpy,今天我们只讲它的一个方法,下面我们来看下:
from wordcloud import ImageColorGenerator from wordcloud import WordCloud as wc from PIL import Image import numpy as n ff=open('OSI.txt','r',encoding='utf-8').read() #导入文本文件并读取内容 bg=n.array(Image.open('g.png')) #将图片以数组形式输出 #注意如果背景图片是png,那么模式必须是RGBA,因为png图片支持透明度设置,设置背景图片,背景颜色必须是白色 w=wc(font_path=r'C:\Windows\Fonts\华康少女文字简W5.ttc',mode='RGBA',mask=bg,repeat=True,background_color='#FFFFFF') wg=w.generate(ff) #嵌入文本 ig=ImageColorGenerator(bg) #图片颜色导入 wg.recolor(color_func=ig) #重新设置词云图颜色 wg.to_file('gf.png') #保存图片
可以看到,最后图片里文字的颜色和引用的图片颜色一样:
除此之外WordCloud还有很多优秀的方法,比如:
mask='' #设置背景图片 font_path='C:\Windows\Fonts\STZHONGS.TTF' #解决中文无法输出的尴尬 max_words=5 #设置单词显示最多的数目 stopwords='' #设置停用词 如果为空,则使用内置的STOPWORDS方法 max_font_size=4 #设置字体最大值 int类型 random_state=1 #设置有多少种配色方案 int类型 mode:'RGB' #当参数为“RGBA”并且背景颜色不为空时,背景为透明。 color_func # 生成新颜色的回调函数 scale #按比例放大画布 类型为float colormap # 给每个词随机分配颜色,若指定color_func,则忽略该方法。 repeat=True #如果文本太少无法充满整个照片导致效果不明显就用这个
6.选择性输出
不知道大家注意到没有,这里有一个停用词设置,它就是stopwords,它就是限制某些字不能输出在词云上,不过必须使用wordcloud内置的STOPWORDS方法才可以,下面我们来看下:
因为它只涉及到英文的分词限制,于是我们先选择个英文单词,就选择频率比较高的control:
sd=STOPWORDS.add('Control') #添加Control为禁用词
然后我们在给初始化时的wordcloud添加一个属性stopwords属性:
wc(font_path=r'C:\Windows\Fonts\华康少女文字简W5.ttc',mode='RGBA',mask=bg,width=500,height=300 repeat=True,stopwords=sd,background_color='#FFFFFF')
可以看到我们的Control没了,这就是词云的神奇之处。
二、词云拓展
在这里,小编还要教大家解锁一个词云的新方式,那就是它不光是一个图片生成神器,还是一个看图,制图,图表生成神器,因为它与PIL ,matplotlib完美的契合在一起,使得它可以随心所欲的调用这两个模块的功能,不信的话,你可以随我来看看:
可以看到基本上都是pillow的方法,而且还有matplotlib 和random以及os的方法,可以说是很全了。
im=wordcloud.wordcloud.Image.open('q.jpg') im.show()
这样基本上你就可以打开一个词云生成的图片了,相信很多小伙伴还没解锁这一知识吧,哈哈哈。
3. Summary
By studying the word cloud, we can intuitively understand the proportion of data in the text. In fact, it is relatively simple. data analysis.
The above is the detailed content of Teach you step by step how to use Python to create a gorgeous word cloud chart. For more information, please follow other related articles on the PHP Chinese website!

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SublimeText3 Linux new version
SublimeText3 Linux latest version

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 English version
Recommended: Win version, supports code prompts!
