码迷,mamicode.com
首页 > 其他好文 > 详细

初窥wordcloud之老司机带你定制词云图片

时间:2017-03-08 18:44:54      阅读:2856      评论:0      收藏:0      [点我收藏+]

标签:生成   txt   pytho   清空   etc   2.7   矩阵   rate   utf-8   

抓紧上车啦

#-*-coding:utf-8 -*-

from os import path
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
#用来画词云的。
import matplotlib.pyplot as plt
#用来解析特殊的图片模板,numpy也可以的。
from scipy.misc import imread

#第一步读你要制作成词云的源文件,少年记得用‘r’去读,手抖用了次‘w+’结果文件让我清空了。。。
dir=rC:\Users\cchen\Desktop\MPLS_2.txt
text=open(dir,r).read()
#用导入的scipy的imread去解析模板文件,图片越大解析越慢
alice_coloring = imread(rC:\Users\cchen\Desktop\cloud.jpg)
#print alice_coloring 所料不错,是个挺大的矩阵。大到卡住了

#生成词云,这里可以用到很多的参数
#background_color顾名思义,是背景的颜色
#max_words 词云显示的最大词数
#mask 主角,我们的个人定制的模板
#max_font_size 字体的最大值
#stopwords 去除一些常用词汇,比如a,is,the之类的,你可以用add加上你不想显示的词。
#font_path=‘./font/cabin-sketch.bold.ttf设置字体
wc = WordCloud(background_color="white", max_words=600, mask=alice_coloring,max_font_size=200, random_state=42,stopwords=STOPWORDS.add("said"))
wc.generate(text)

#show出来定制化的词云,颜色是随机的五颜六色,第一个图就是啦
plt.figure()
plt.imshow(wc)
plt.axis("off")



# 我这么低调的人肯定要用原图的黑色啊
# 可以用color_func=image_colors来重新画
# 根据模板获取颜色
image_colors = ImageColorGenerator(alice_coloring)
#获取到的颜色模板,第二个图
plt.imshow(wc.recolor(color_func=image_colors))
plt.axis("off")
#低调的词云,第三个图
plt.figure()
plt.imshow(alice_coloring, cmap=plt.cm.gray)
plt.axis("off")
plt.show()

技术分享

来看看依照原图来的模板

技术分享

根据这个模板的到黑色的词云

技术分享

 

是不是很炫酷。

因为python2.7的蛋疼的中文编码问题。如果是中文文档的话,可以用jieba分词对文件进行次频处理在生成词云。

挖个坑,以后填。。

初窥wordcloud之老司机带你定制词云图片

标签:生成   txt   pytho   清空   etc   2.7   矩阵   rate   utf-8   

原文地址:http://www.cnblogs.com/AlwaysT-Mac/p/6520571.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!