这里有新鲜出炉的 Python 教程,程序狗速度看过来!
Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
最近看到可视化的词云,看到网上也很多这样的工具,但是都不怎么完美,有些不支持中文,有的中文词频统计得莫名其妙、有的不支持自定义形状、所有的都不能自定义颜色,于是网上找了一下,决定用 python 绘制词云
先上图片
词云图
需要模板
- pip install jieba
- pip install wordcloud
还需要安装另外两个东西这两个我也不太懂借鉴百度写上去的
- pip install scipy
- pip install matplotlib
因为用 ubuntu 系统所有没有 windows 那么麻烦,也没有那么多报错
看到好多人制作自己的词云有没有一丝丝的激动啊,有激动就要马上去做,冲动才是第一创造力。
jieba 是一款很恨很好用的中文分词模板
jeiba 中文文档
至于 wordcloud 没有中文文档不过咱会猜啊,英文不好咱们可以猜啊,查看源代码猜。
先把我全部代码贡献上来
- #-*-coding:utf-8—-*-
- import jieba.analyse
- from wordcloud import WordCloud,ImageColorGenerator
- from scipy.misc import imread
- import matplotlib.pyplot as plt
- class wc:
- def __init__(self,txt_file,img_file,font_file):
- self.f = open(txt_file,'r')
- self.txt = self.f.read()
- self.f.close()
- self.tags = jieba.analyse.extract_tags(self.txt,topK=100)
- #topK说白了就是返回几个关键词
- self.text = ' '.join(self.tags) #把分词链接起来,加空格因为英文靠空格分词
- self.img = imread(img_file)
- self.wc = WordCloud(font_path=font_file,background_color='white',max_words=100,mask=self.img,max_font_size=80)
- ###直接在这里进行猜###
- #font_path指的是字体文件路径,因为wordcloud自带的字体不支持中文所以我们要指定一个字体文件,否者输出的图片全是框框
- #background_color 默认是黑色我设置成白色
- #max_words最大显示的词数
- #mask 背景图片
- #max_font_size最大字体字号
- self.word_cloud = self.wc.generate(self.text)
- def show_wc(self):
- #img_color = ImageColorGenerator(self.img)
- plt.imshow(self.word_cloud)
- #可以通过 plt.imshow(self.wc.recolor(color_func=img_color))使图片颜色跟字体颜色一样
- plt.axis("off")
- plt.show()
- if __name__=='__main__':
- mywc = wc('sanwen.txt','out.png','font.ttc')
- mywc.show_wc()
使用 wc.recolor(color_func=img_color)
(adsbygoogle = window.adsbygoogle || []).push({});
来源: http://www.phperz.com/article/17/0628/336799.html