python的一个好玩模块wordcloud
2016-07-26 19:48
603 查看
python真的超级超级好玩呐,不管是爬虫还是数据挖掘,真的都超级有意思。
今天,来说一说python一个好玩的模块wordcloud
构建词云的方法很多, 但是个人觉得python的wordcloud包功能最为强大,可以自定义图片.
官网: https://amueller.github.io/word_cloud/
github: https://github.com/amueller/word_cloud
例子:
字体用的是cabin-sketch.bold
安装
pip install wordcloud
github下载并解压
安装依赖包
安装wordcloud
方法三
下载.whl文件http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
使用cd命令进入whl文件的路径
运行这条命令:
以下是例子
另外附上
程序的源码
python好玩的词云wordcloud
今天,来说一说python一个好玩的模块wordcloud
构建词云的方法很多, 但是个人觉得python的wordcloud包功能最为强大,可以自定义图片.
官网: https://amueller.github.io/word_cloud/
github: https://github.com/amueller/word_cloud
例子:
字体用的是cabin-sketch.bold
安装
方法1
pip install wordcloud
方法2
github下载并解压wget https://github.com/amueller/word_cloud/archive/master.zip unzip master.zip rm master.zip cd word_cloud-master
安装依赖包
sudo pip install -r requirements.txt
安装wordcloud
python setup.py install
方法三
下载.whl文件http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
使用cd命令进入whl文件的路径
运行这条命令:
python -m pip install <filename>
以下是例子
#coding:utf-8 from os import path from scipy.misc import imread import matplotlib.pyplot as plt import jieba from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator stopwords = {} def importStopword(filename=''): global stopwords f = open(filename, 'r', encoding='utf-8') line = f.readline().rstrip() while line: stopwords.setdefault(line, 0) stopwords[line] = 1 line = f.readline().rstrip() f.close() def processChinese(text): seg_generator = jieba.cut(text) # 使用结巴分词,也可以不使用 seg_list = [i for i in seg_generator if i not in stopwords] seg_list = [i for i in seg_list if i != u' '] seg_list = r' '.join(seg_list) return seg_list importStopword(filename='./stopwords.txt') # 获取当前文件路径 # __file__ 为当前文件, 在ide中运行此行会报错,可改为 # d = path.dirname('.') d = path.dirname(__file__) text = open(path.join(d, 'love.txt'),encoding ='utf-8').read() #如果是中文 #text = processChinese(text)#中文不好分词,使用Jieba分词进行 # read the mask / color image # taken from http://jirkavinse.deviantart.com/art/quot-Real-Life-quot-Alice-282261010 # 设置背景图片 back_coloring = imread(path.join(d, "./image/love.jpg")) wc = WordCloud( font_path='./font/cabin-sketch.bold.ttf',#设置字体 background_color="black", #背景颜色 max 4000 _words=2000,# 词云显示的最大词数 mask=back_coloring,#设置背景图片 max_font_size=100, #字体最大值 random_state=42, ) # 生成词云, 可以用generate输入全部文本(中文不好分词),也可以我们计算好词频后使用generate_from_frequencies函数 wc.generate(text) # wc.generate_from_frequencies(txt_freq) # txt_freq例子为[('词a', 100),('词b', 90),('词c', 80)] # 从背景图片生成颜色值 image_colors = ImageColorGenerator(back_coloring) plt.figure() # 以下代码显示图片 plt.imshow(wc) plt.axis("off") plt.show() # 绘制词云 # 保存图片 wc.to_file(path.join(d, "名称.png"))
另外附上
程序的源码
python好玩的词云wordcloud
相关文章推荐
- Python3写爬虫(四)多线程实现数据爬取
- Scrapy的架构介绍
- 爬虫笔记
- 基于C#实现网页爬虫
- Nodejs爬虫进阶教程之异步并发控制
- Node.js环境下编写爬虫爬取维基百科内容的实例分享
- PHP+HTML+JavaScript+Css实现简单爬虫开发
- C#网络爬虫代码分享 C#简单的爬取工具
- 数据挖掘之Apriori算法详解和Python实现代码分享
- 如何优雅地使用c语言编写爬虫
- PHP实现简单爬虫的方法
- NodeJS制作爬虫全过程(续)
- php实现简单爬虫的开发
- node.js基础模块http、网页分析工具cherrio实现爬虫
- PHP爬虫之百万级别知乎用户数据爬取与分析
- 一个PHP实现的轻量级简单爬虫
- nodejs爬虫抓取数据乱码问题总结
- 基于Node.js的强大爬虫 能直接发布抓取的文章哦
- nodeJs爬虫获取数据简单实现代码
- nodejs爬虫抓取数据之编码问题