您的当前位置:首页正文

Python -- wordCloud构造词云图

来源:华拓网

Python -- wordCloud构造词云图


最近在看python,发现python是在是太好玩了,今天来介绍一下 wordClud.

什么是词云图

词云又叫文字云,是对网络文本中出现频率较高的"关键词"予以视觉上的突出,形成"关键词云层"或"关键词渲染",从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。看了这段是不是觉得"哎呦,不错呦"

具体是什么样式的如下图:

timg.jpeg u=2919868850,587623811&fm=23&gp=0.jpg

wordCloud 安装


pip install wordcloud

如果还没有安装 pip的读者,可以去安装一下.[安装pip][1]

词云小试

新建一个 名字.py的文件,内容如下


import os

from os import path

import matplotlib.pyplot as plt

from  wordcloud import WordCloud

import jieba

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

text_from_file_with_apath = open('文本路径').read().decode('utf-8')

wordlist_after_jieba = jieba.cut(text_fro

m_file_with_apath, cut_all = True)

wl_space_split = " ".join(wordlist_after_jieba)

font=os.path.join(os.path.dirname(__file__), "DroidSansFallbackFull.ttf")

my_wordcloud = WordCloud(font_path=font,max_font_size=40).generate(text_from_file_with_apath)

assert isinstance(my_wordcloud, object)

plt.imshow(my_wordcloud)

plt.axis("off")

plt.show()

当然上面是我改进之后的,在学习的过程中遇到了很多问题,如果读者把代码假如之后还是运行不成功,继续向下看,一定会有收获.

如果成功之后就是这个样子的..

温馨提示:示例文本是我在文本的路径.这里面放读者自己的就可以了.还有DroidSansFallbackFull.ttf字体也是,大家可以去下载,如果想要可以留言给我哦.

遇到的坑

  • PIL 安装失败
  • 中文编码

PIL安装失败

如果有 pip工具其实就是一句命令行

sudo pip install PIL

如果安装失败我报的错误是

could not find a version that satisfies the requirement PIL.(form versions:)
No matching distribution found for PIL.

上网查资料,说按照终端提示添加即可,可是我的终端没有提示,后来终于找到原因了,大概是因为 Mac下的 python 是2.7版本的,安装的 pip 也是也是较高版本,用 pip 安装PIL的时候就会报这个错误,这个错误的大概意思就是找不到 PIL,最后发现其实是现在已经用Pillow代替了PIL,在使用方面没有不同,API都是相同的。
既然如此,咱们就直接安装Pillow模块吧,执行

sudo pip install Pillow

安装这个模块时,发现它会依赖另外一个模块:multiprocessing
只能先把multiprocessing模块安装好再执行上面的命令了,

sudo pip install

multiprocessing即可正常安装,非常小的一个模块

中文编码问题

上段代码中的展示英文字体是没有任何错误的,但是展示中文字体会出现

WechatIMG10803.jpeg

最后是这样的:


WechatIMG10757.jpeg

解决办法就是引入了 sys库,话不多说了,如果还是有问题可以给我评论呦.大家互相交流.一起进步.