用Python生成你的党建宣传词云图

内容分享3天前发布
0 3 0

引言

词云图是对文本中高频关键词的一种可视化表现形式。使用Python的 wordcloud 库可以很方便地生成词云图,下面我们一起来看看如何生成词云图吧。

一、相关依赖库安装

1)库安装

本案例需使用的库有:jieba(分词)和 wordcloud (词云图生成),使用 pip 安装方式如下:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple wordcloud
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba

2)库导入

import jieba
from wordcloud import WordCloud,ImageColorGenerator
import matplotlib.pyplot as plt

二、分词部分

我们使用jieba库对文本进行分词操作。本案例只采用两个字以上的词来生成词云图,因此需将分词结果中单个字的词剔除,具体如下:

1)代码

text = open('text.txt', 'r', encoding='utf-8').read()word_list = lcut(text)
word_list2 = lcut(text)
# 循环遍历长度 >2 的词并删除
for word in word_list2:
    if len(word) < 2:
        word_list.remove(word)
word_list_space = " ".join(word_list)

注:为什么要生成两个分词结果,而不是直接使用word_list或者word_list2=word_list?

由于如果使用同一个word_list,在循环遍历中删除词时,会对循环造成影响。如果使用word_list2=word_list,本质上指向的还是同一个list,因此需生成两个分词结果。大家也可以思考如何用1个word_list实现以上功能。

2)分词效果

用Python生成你的党建宣传词云图

三、词云图生成部分

1)代码

# 图片遮罩层
mask_img = plt.imread('mask_img.jpg')
# 颜色配置
image_colors=lambda *args, **kwargs: (255,0,0)
# 生成词云图
wordcloud = WordCloud(font_path="C:/Windows/Fonts/STXINGKA.TTF",
                      background_color='white',
                      max_words=300,
                      max_font_size=20,
                      mask=mask_img,
                      color_func=image_colors).generate(text)image = wordcloud.to_image()
image.show()
# 保存图片
image.save('词云图.jpg')

WordCloud相关参数:

①font_path:指定一个中文字体文件

②background_color:背景颜色

③max_words=1000:最大显示词语数

④max_font_size=100:最大显示字体

⑤mask:图片遮罩层数据,使用的图片必须为纯白底(#FFFFFF)才能识别轮廓

2)效果演示

① mask_img 图片

用Python生成你的党建宣传词云图

② 词云图效果

用Python生成你的党建宣传词云图

③ 使用其他 mask_img 效果

用Python生成你的党建宣传词云图


大家平时在什么场景下会用到词云图呢?欢迎在评论区 留言 讨论~

© 版权声明

相关文章

3 条评论

  • 头像
    薄暮野望 读者

    原来如此

    无记录
    回复
  • 头像
    郭雨鑫 读者

    生产第一……….

    无记录
    回复
  • 头像
    当年明月 读者

    收藏了,感谢分享

    无记录
    回复