词云库的生成

今天我们来聊一聊词云的生成,话不多说开始我们今天的内容吧!

 词云顾名思义是由词汇组成类似云的彩色图形。都说是类似云的彩色图形,那必然少不了彩色的图形,首先我们要做的就是打开和保存图片文件,这里我们通过调用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()函数常见支持的选项如下:

  • axis(‘off’):关闭轴线和标签。
  • axis(‘equal’):使x轴与y轴保持与屏幕一致的高宽比(横纵比)。
  • axis(‘tight’):使x轴与y轴限制在有数据的区域。
  • axis(‘square’):使x轴与y轴坐标一致。

完成之后,你就会发现刚刚的坐标就消失了,是不是现在的比刚刚的好看多了呢!

 好了,今天要聊的就是这些内容,希望大家喜欢。下次我会给大家带来更好的内容,谢谢大家的观看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值