用Python生成词云图
- 格式:pdf
- 大小:4.58 MB
- 文档页数:5
哪位客字。pm
京都
接着,我们把储存在程序目录下的txt文档命名
为“B站测试题txt”,在程序中输入以下代码来读取这个文档
。
在上面这段代码中,我们读取了
“
B站测试
题
.txt
”
@91
)海市文登区七里汤中学宋海霞?威
我们在阅读一篇很长的文章时,总想先看看文章的关键词来
获知文章的大概内容。
今天我们就来制作一个
词云程序,将文章中出
现
次数较多的词语提取出
来,生成一张词
云图
。
在开始编写程序之前,我们先了解一下这种词云
图的
生成原理。我们拿到篇文章,程序会将这篇文章中的所有词组识别出来,然后统计每个词组出现的
次数
,出现次数越
多,词组的字号越大,最后把所有词组拼合成一张图像,也就是我们想要的词云图
。
我们
需要把这篇文章储存在个txt文档里,把这个文档和程
序放在同一个文件夹下
。
生成词云
我们现在开始制作词云程序。
在PyCharm中新建个Python文件。%欢迎小读者扫描二维码观|看Python教程。安装所需的第三方库,它们分别是jieba和
wordcou
d
,
用之前介绍的方法安
装即
可
。
安装完成后开始编
写
程序
。
首先调用jieba和wo
rdcoud
模块
。
/Tri
p
o厂f
ji
eba
importw
ordcloud
下面的内容默认你已经安装好了Python的运行环境,并且以PyCharm作为默认
工
具
q
如果你不知道这是什么意思,请扫码观
看视频,跟着视频的讲解做遍,就可以装好PyCharm和Python
环境
。
f
=open(,,B站测试题.txt","r",encoding="
gbk
"
)
4September2019这个文档,并把它储存在f这个变量中。现在我们要读取文档中的文字,把它储存在个新的变量t中,在程序中添加以下代码:t=f.read()读取完毕,我们就可以关闭这个文档了,在程序中添加以下代码:f.close()下面我们把文章中的词组提取出来,在程序中添加以下代码:Is=jieba.lcut(t)txt="".join(ls)现在我们已经将词组提取出来并用空格分开,提取出来的词组保存在一个新的变量txt里面。下一步我们要新建个词云的对象,并设定一些参数。w=wordcloud.WordCloud(width=2000,height=1400,font_path="msyh.ttc"在上面这段代码中,我们新建了一个词云的对象并将其命名为w。我们设定生成词云图片的宽度为2000像素,高度为1400像素,设定文字的字体为微软雅黑。现在我们要把之前生成的词组变量txt导入词云对象w中。w.generate(txt)w.to_file('pic.png")代码编写完成后运行,如果看到以下提示,代表我们的工作还算顺利。编写完成的代码如下
:
importjieba
impo
r
t
wordcloud
f=cjpen("B站测试题.t
xt","r”,encoding="gbk
"
)
t=f.
r
ea
d
()
f.
clos
e
()
Is=jieba
.lcu
t
(t)
txt
=
”"
jo
in(ls
)
w=wordcloud.WordCloud(width=2000
,
height=1400,
font__path=Mms
yh
.ttc
"
w.generate
(txt)
w.tofilefpic.pn
g
"
)
打开程序所在的文件夹,我们可以看到这
里
生
成了个名为pc.png的图片文件。
打开后我们可以看到,生成的词云的效果还
是
很不
错
的
。
September2019
5换个背景顔色S's
|
我们可以看到,这个生成的词云图片的背景是
白色的,原因在于wordcoud模块默认的背景颜色
就是白色,想让背景改变颜色的话,需要修改建立
词云对象的代码
:
紫色purp
le粉红色:pi
nk
蓝色blue红色
:red
黑色
b
lack
黄色
:yellow
青色
cyan金色:gold
标色brown白色
:white
上期我们就介绍过,turtle支持的颜色很
多
,
常用的颜色可以用英文名称表示,不常用的
颜色可
以用16进制数值模式来表示,代码如下:
w=wo
rdcloud
.WordCloud(wi
dth=2000
,
heigh
t
=1
400
,
background_color="#FFF
A
FA
"
,
font_path="ms
y
h
.ttc
"
修改完成之后运行,我们发现图片的背景颜色
变成了灰色(文字布局是随
机
的
,
每次都不样
)。
除了灰色之外,我们还可以将背景设置为其
他
颜色,比如说想要蓝色就在引号中填入Bue,想要
黄色就填入yeow。下面给出了些我们常用的颜色的英文名
称
。
16进制数值模式用以#开头的6位16进制数
表示颜色,你可以在下面这个网站上找到自己
想要的颜色的16进制颜色数值
。)
查询网站
:
http://tool.oschina.net/commons?type=3
除了
可以设置背景的颜色以外,我们还可
以设
置文字的颜色
。
w=wo
rdcloud
.
WordCloud(width=2000
,
height=1400
,
fontj3ath="msyh.ttc
"
,
cx)lormap='cool
'
,
在上面这段代码
中
,
backgroundc
olo
r
代表我们要
更改颜色,引号中的
内
容是我
们
要改成的颜色,比如Grey就是灰
色的意思。
:wordcloud.WordCloud(width=2000,
height=1400
,
background_colo
r="Gre
y
"
,
fontj3ath
=
"msy
h
.ttc
"
6September2019