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

Posted yushangcc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初窥wordcloud之老司机带你定制词云图片相关的知识,希望对你有一定的参考价值。

抓紧上车啦

#-*-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=r\'C:\\Users\\cchen\\Desktop\\MPLS_2.txt\'
text=open(dir,\'r\').read()
#用导入的scipy的imread去解析模板文件,图片越大解析越慢
alice_coloring = imread(r\'C:\\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之老司机带你定制词云图片的主要内容,如果未能解决你的问题,请参考以下文章

[python] 词云:wordcloud包的安装使用原理(源码分析)中文词云生成代码重写

解决wordcloud导出图片不清楚

python为啥wordcloud 生成的词云,单词排列不够紧凑?

python(wordcloud)实现中文词云

worldcloud库—总结

wordcloud词云——python数据分析后可视化的重要方法