用Python搞出自己的云词图 | 【带你装起来】

源 / AI算法与图像处理 文 / AI_study

云词图简介

什么词云

由词汇组成类似云的彩色图形。“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。

有何作用

1、直观,高大上 2、可装逼,很潇洒

准备工作

1、导入包——jieba和wordcloud 命令:pip install jieba 命令:pip install wordcloud 备注:对于pycharm等可采用各自的方法导入包 2、文本和图片的准备 文本:可爬取网上资料或某歌曲书籍等关键字,亦或是像我是自己手动输入文字并用tab隔开 图片:找自己喜欢的图片,这里我采用乔巴的图片作为背景,而且除了主要人物外,其他背景都为白色,显示效果较好。

采用的文本内容:

采用的图片:

代码展示

代码语言:javascript
复制
# coding: utf-8
import jieba
from wordcloud import WordCloud,STOPWORDS
from scipy.misc import imread # 处理图像的函数
import matplotlib.pyplot as plt

读取文本文件

text = open( /media/pzw/0E50196C0E50196C/weixin/t1.txt , r ).read()

对文本进行分词

cut_text = .join(jieba.cut(text))

读取图片

color_mask = imread( /media/pzw/0E50196C0E50196C/weixin/qiaoba.jpg )

生成词云

cloud = WordCloud(font_path= G:/py/wc/new_songti.ttc ,# 这里是导入字体,因为我是采用英文的,所有不导入也并不影响,若是中文的或者有其他的字符需要自己选择合适的字体包
background_color="white",
mask=color_mask,
max_words=2000,
max_font_size=80)
word_cloud = cloud.generate(cut_text)

输出图片

plt.axis( off )
plt.imshow(word_cloud)
plt.show()

效果展示