什么是“词云”

“词云”就是通过形成“关键词云层”或“关键词渲染”,对网络文本中出现频率较高的“关键词”的视觉上的突出。

图片示例:

代码实现

本文介绍:在python中使用wordcloud模块生成词云图,可指定图片的形状、大小、颜色和字体
1、python环境搭建及一些基础配置,本文不做阐述,可自行查阅资料
2、词典获取及词云图中文乱码等问题请参照这片文章:https://blog.csdn.net/a736755244/article/details/103454290
3、本文代码及相关文件地址:
https://github.com/736755244/custompic
4、功能代码如下:
import jieba # 分词 from wordcloudimport WordCloud # 词云图相关 import matplotlib.pyplot as plt import matplotlib.colors as colors # 处理图片相关内容 import numpy from PILimport Image # 生成词云方法(以庆余年小说为例) defget_wcloud(): # 读取小说内容 withopen(r'庆余年.txt','r', encoding='gbk') as txt: data= txt.read() # 加载词典 jieba.load_userdict('scel_to_text.txt') # 也可以添加自定义词典 jieba.add_word('范慎') jieba.add_word('范闲') # 将文件中所有文字分词 words_list= jieba.lcut(data) # 用空格分隔词语 tokenstr=' '.join(words_list) # 打开背景图片 color_mask= numpy.array(Image.open('map.png')) # 自定义文字颜色 colormaps= colors.ListedColormap(['#FF0000','#FF7F50','#FFE4C4']) # 生成词云(默认样式) # mywc1=WordCloud().generate(tokenstr) # 生成词云(自定义样式) mywc1=WordCloud( mask=color_mask, # 指定背景图形状 colormap=colormaps, # 指定颜色 # font_path='C:/Windows/Fonts/simkai.ttf', # 指定字体 background_color='white', # 指定背景颜色,默认黑色 width=800, # 指定宽度 height=600 # 指定高度).generate(tokenstr) # 显示词云 plt.imshow(mywc1) plt.axis('off') plt.show() mywc1.to_file('庆余年.png') # 生成词云图片 if __name__=='__main__':get_wcloud()

最终效果

默认样式:
自定义样式: