Python可视化-WordCloud生成云词图片
词云以词语为基本单位,更加直观和艺术的展示文本,Python的WordCloud便可以很容易的实现这个功能
首先建一个记事本,写入你想要生成云词图片的文章。
然后找一张喜欢的图片作为云词生成的模板图片,我在这里就随便找了一张,假如你想要生成云词的形状好看一点,那你修改对应的图片就行了。
生成的云图
##完整示例代码
import jieba.analyse ##jieba库 用于分割中文词语
from PIL import Image,ImageSequence
import numpy as np
import matplotlib.pyplot as plt ##使用matplotlib和WordCloud结合
from wordcloud import WordCloud,ImageColorGenerator
l = ''
f = open('云词.txt','r')
for i in f:
l +=f.read()
result = jieba.analyse.textrank(l,topK=250,withWeight=True)
keyworlds = dict())#词频以字典形式存储
for i in result:
keyworlds[i[0]]=i[1]
image = Image.open('云词.jpg')#背景图
graph = np.array(image)
#参数分别是指定字体、背景颜色、最大的词的大小、使用给定图作为背景形状
wc = WordCloud(font_path='simhei.ttf',background_color='White',max_font_size=170,mask=graph)
wc.generate_from_frequencies(keyworlds)#根据给定词频生成词云
image_color = ImageColorGenerator(graph)
plt.imshow(wc)
plt.imshow(wc.recolor(color_func=image_color))
plt.axis('off')#不显示坐标轴
plt.show()
wc.to_file('云词2.png')#保存的图片