Python -- wordCloud构造词云图
最近在看python,发现python是在是太好玩了,今天来介绍一下 wordClud.
什么是词云图
词云又叫文字云,是对网络文本中出现频率较高的"关键词"予以视觉上的突出,形成"关键词云层"或"关键词渲染",从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。看了这段是不是觉得"哎呦,不错呦"
具体是什么样式的如下图:
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
![timg.jpeg](http://upload-images.jianshu.io/upload_images/1043684-248928cde540bb25.jpeg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
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即可正常安装,非常小的一个模块
中文编码问题
上段代码中的展示英文字体是没有任何错误的,但是展示中文字体会出现
最后是这样的:
解决办法就是引入了 sys库,话不多说了,如果还是有问题可以给我评论呦.大家互相交流.一起进步.