先上图片
词云图
需要模板
1
2
|
pip install jieba
pip install wordcloud
|
还需要安装另外两个东西这两个我也不太懂借鉴百度写上去的
1
2
|
pip install scipy
pip install matplotlib
|
因为用ubuntu系统所有没有windows那么麻烦,也没有那么多报错
看到好多人制作自己的词云有没有一丝丝的激动啊,有激动就要马上去做,冲动才是第一创造力。
jieba是一款很恨很好用的中文分词模板
至于wordcloud没有中文文档不过咱会猜啊,英文不好咱们可以猜啊,查看源代码猜。
先把我全部代码贡献上来
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#-*-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)
原文链接:http://www.jianshu.com/p/e39b37914f38