赞
踩
今天我们来聊一聊词云的生成,话不多说开始我们今天的内容吧!
词云顾名思义是由词汇组成类似云的彩色图形。都说是类似云的彩色图形,那必然少不了彩色的图形,首先我们要做的就是打开和保存图片文件,这里我们通过调用PIL库中的Image来实现。Image模块是在Python PIL图像处理中常见的模块,对图像进行基础操作的功能基本都包含于此模块内。如open(打开)、save(保存)、show(展示)…等功能。具体的内容可以去去官网查看它的资料:http://effbot.org/
- Image.open(file)
- Image.open(file, mode)
要从文件加载图像,使用 open() 函数, 在 Image 模块:
- from PIL import Image #调用PIL库
- im=Image.open('..\Stu_Pack\wordcloud\Love_Star.PNG') #文件存在路径
- im.show()
若要保存文件,则使用 Image 类的 save() 方法,
- im.save(outfile,options…)
- im.save(outfile, format, options…)
此时保存文件的文件名就变得十分重要了,除非指定格式,否则这个库将会以文件名的扩展名作为格式保存。使用给定的文件名保存图像。如果变量format缺省,如果可能的话,则从文件名称的扩展名判断文件的格式。该方法返回为空。关键字options为文件编写器提供一些额外的指令。如果编写器不能识别某个选项,它将忽略它。用户可以使用文件对象代替文件名称。在这种情况下,用户必须指定文件格式。文件对象必须实现了seek()、tell()和write()方法,且其以二进制模式打开。如果方法save()因为某些原因失败,这个方法将产生一个异常(通常为IOError异常)。如果发生了异常,该方法也有可能已经创建了文件,并向文件写入了一些数据。如果需要的话,用户的应用程序可以删除这个不完整的文件。
- from PIL import Image
- im=Image.open('..\Stu_Pack\wordcloud\Love_Star.PNG')
- im.save('..\R&Q_pic\Love_Star.PNG') #将Stu_Pack中wordcloud文件里的Love_Star.PNG'图片保存到R&Q_pic这个文件夹中
- im.show()
-
-
知道怎么打开和保存图片文件后,接着我们要生成词云图片,当然我们得要用到worldcloud这个库,wordcloud库,可以说是python非常优秀的词云展示第三方库,wordcloud把词云当作一个对象,它可以将文本中词语出现的频率作为一个参数绘制词云,而词云的大小、颜色、形状等都是可以设定的,总的来说,生成一个漂亮的词云文件三步就可以完成:1、配置对象参数 2、加载词云文本 3、输出词云文件
wordcloud的常规方法如下:
- w.generate(txt) #向worldcloud对象W中加载文本
- w.to_file(filename) #将词云输出的图像原件.png或.jig格式保存
具体操作如下:
- import wordcloud
- w=wordcloud.WordCloud()
- w.generate('Dream It Possible')#词云内容
- w.to_file('../R&Q_pic/DIP.png')#创建图片文件
运行结果如下:
做到这一步,简单的词云就创建好了,但是现在只是在Stu_pack这个文件夹中创建了这个词云的图片,还需要我们进一步去完善它,我们不单单要创建它,还要让这张图片显现出来,这时就要用到matplotlib这个库了,这个库我上个博客有介绍到,不清楚的话可以去看看我上个博客内容,好了我们接着继续,我们通过以下代码来实现图片的可视化
- plt.imshow(w)
- plt.show()
注:plt.imshow()函数负责对图像进行处理,并显示其格式,但是不能显示。其后跟着plt.show()才能显示出来。
运行结果如下:
此时我们就会得到一个带坐标的词云,但因为有这个坐标的存在使得这个词云看上去不是那么美观,这是我们该怎么做呢,这里就要用到一个新的函数axis函数,具体如下:
- plt.imshow(w)
- plt.axis('off')
- plt.show()
axis函数是用来设置具体某一个坐标轴的属性的,具体参照http://matplotlib.org/api/_as_gen/matplotlib.pyplot.axis.html#matplotlib.pyplot.axis
axis()
函数常见支持的选项如下:
完成之后,你就会发现刚刚的坐标就消失了,是不是现在的比刚刚的好看多了呢!
好了,今天要聊的就是这些内容,希望大家喜欢。下次我会给大家带来更好的内容,谢谢大家的观看。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。