使用python生成定制化词云的代码示例

 更新时间:2024年09月04日 10:45:07   作者:码银  
词云,作为一种流行的数据可视化形式,能够将大量文本数据中的关键词以视觉化的方式呈现,让我们迅速捕捉到文本的核心,本文将通过Python编程语言,使用jieba和wordcloud库,生成一个具有特定形状的词云,需要的朋友可以参考下

引言

数据可视化已成为我们理解复杂信息的关键工具。词云,作为一种流行的数据可视化形式,能够将大量文本数据中的关键词以视觉化的方式呈现,让我们迅速捕捉到文本的核心。本文将通过Python编程语言,使用jieba和wordcloud库,并基于斗破苍穹第一章的内容,生成一个具有特定形状的词云。

环境搭建

在开始之前,确保你的Python环境中安装了必要的库。如果尚未安装,可以通过以下命令进行安装:

pip install matplotlib 
jieba 
wordcloud 
numpy 
pillow

读取与准备文本

我们将使用《斗破苍穹第一章》的文本作为示例。首先,确保文本文件以UTF-8编码保存,以避免编码错误:

with open('斗破苍穹第一章.txt', 'r', encoding='utf-8') as file:
    text = file.read()

中文分词

中文文本处理的第一步是分词。我们使用jieba库,它是中文文本分词的常用工具:

import jieba
cut_text = jieba.cut(text)
word = ' '.join(cut_text)

定义停用词

在生成词云之前,我们需要定义一组停用词,以排除那些在文本中频繁出现但对分析没有太大意义的词:

    stopwords={
        '了', '的', '和', '是', '我', '你', '这', '就', '有', '在', '也', '一', '不', '人', '都', '一个',
        '我们', '他', '她', '得', '地', '很', '到', '说', '要', '去', '上', '说', '知道', '能', '看',
        '自己', '出来', '过', '着', '听', '觉得', '但是', '而且', '因为', '所以', '虽然', '如果', '就是',
        '只有', '可以', '什么', '哪', '哪个', '那些', '什么', '怎么', '怎样', '这么', '那么', '这样', '那样',
        '一点', '一些', '一点', '一些', '一下', '一下', '一会儿', '一点儿', '现在', '然后', '再', '曾经',
        '曾经', '曾经', '曾经', '或者', '或者', '以及', '或者', '跟', '跟', '同', '和', '与', '跟', '同',
        '跟', '与', '跟', '和', '与', '而且', '并且', '或者', '还是', '或者', '或者', '又', '也', '还',
        '再', '另外', '那',
        '然后',
        '接着',
        '之后',
        '起来',
        # ... 其他语气助词 ...
    }

选择词云形状

词云的形状可以是任何形式,本例中我们将使用一张图片来定义词云的形状:

from PIL import Image
import numpy as np

pic = Image.open('test1.png')
pic_array = np.array(pic)

现在,我们将所有元素结合在一起,生成词云:

import wordcloud
from matplotlib import colors

color_list = ['black', 'red', 'blue', 'green']
colormap = colors.ListedColormap(color_list)

wc = wordcloud.WordCloud(
    mask=pic_array,
    font_path='simhei.ttf',
    background_color='white',
    colormap=colormap,
    stopwords=stopwords
)

wc.generate(word)

显示词云

最后,我们使用matplotlib库来显示我们生成的词云:

plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()

结语

通过上述步骤,我们不仅学习了如何使用Python生成词云,还了解了如何通过jieba进行中文分词,以及如何使用wordcloud库自定义词云的生成。

import matplotlib.pyplot as plt
import jieba
import wordcloud
from PIL import Image
import numpy as np  
from matplotlib import colors

# 读取文本文件
str1 = open('斗破苍穹第一章.txt', 'r', encoding='utf-8').read()  # 确保使用正确的编码

cut_text = jieba.cut(str1)    # 分词处理
word = ' '.join(cut_text)       # 以空格分割文本


color_list = ['black', 'red','blue','green']
colormap = colors.ListedColormap(color_list)  # matplotlib色图

# 使用Pillow读取图片
pic = Image.open('test1.png')  # 读取图片

# 将Pillow图像转换为numpy数组
pic_array = np.array(pic)

wc = wordcloud.WordCloud(
    mask=pic_array,               # 使用转换后的数组作为背景图形
    font_path='simhei.ttf',       # 可以改成自己喜欢的字体
    background_color='white',     # 词云图背景颜色可以换成自己喜欢的颜色
    colormap=colormap,
    stopwords={
        '了', '的', '和', '是', '我', '你', '这', '就', '有', '在', '也', '一', '不', '人', '都', '一个',
        '我们', '他', '她', '得', '地', '很', '到', '说', '要', '去', '上', '说', '知道', '能', '看',
        '自己', '出来', '过', '着', '听', '觉得', '但是', '而且', '因为', '所以', '虽然', '如果', '就是',
        '只有', '可以', '什么', '哪', '哪个', '那些', '什么', '怎么', '怎样', '这么', '那么', '这样', '那样',
        '一点', '一些', '一点', '一些', '一下', '一下', '一会儿', '一点儿', '现在', '然后', '再', '曾经',
        '曾经', '曾经', '曾经', '或者', '或者', '以及', '或者', '跟', '跟', '同', '和', '与', '跟', '同',
        '跟', '与', '跟', '和', '与', '而且', '并且', '或者', '还是', '或者', '或者', '又', '也', '还',
        '再', '另外', '那',
        '然后',
        '接着',
        '之后',
        '起来',
        # ... 其他语气助词 ...
    }
)

wc.generate(word)  # 生成词云

# 显示词云图
plt.imshow(wc, interpolation='bilinear')  # 使用bilinear插值可以使词云看起来更平滑
plt.axis('off')
plt.show()

到此这篇关于使用python生成定制化词云的代码示例的文章就介绍到这了,更多相关python生成定制化词云内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中argparse模块及action='store_true'详解

    python中argparse模块及action='store_true'详解

    argparse 是一个用来解析命令行参数的 Python 库,它是 Python 标准库的一部分,这篇文章主要介绍了python中argparse模块及action=‘store_true‘详解,需要的朋友可以参考下
    2023-02-02
  • Python+selenium破解拼图验证码的脚本

    Python+selenium破解拼图验证码的脚本

    很多网站在登录或者注册时都会遇到拼图验证码,这种拼图验证码实际上是多个小碎片经过重新组合成的一张整体。本文将和大家分享一个基于Python selenium的破解拼图验证码的脚本,需要的可以参考一下
    2022-02-02
  • Python实现简易信息分类存储软件

    Python实现简易信息分类存储软件

    这篇文章主要介绍的是通过Python制作一个简易的文件分类存储文件,可以实现信息的增删改查以及内容的导出和回复,文中的示例代码对我们的学习有一定的价值,感兴趣的同学可以了解一下
    2021-12-12
  • Python实现PNG图片黑色边框自动去除工具

    Python实现PNG图片黑色边框自动去除工具

    在日常的图像处理工作中,我们经常会遇到需要去除图片黑色边框的需求,本文将使用Python实现一个自动化的 PNG 图片黑色边框去除工具,需要的可以了解下
    2025-06-06
  • MoviePy简介及Python视频剪辑自动化

    MoviePy简介及Python视频剪辑自动化

    MoviePy是一个用于视频编辑的Python模块,可用于基本操作(如剪切、拼接、字幕插入)、视频合成、视频处理或创建高级效果等。本文给大家介绍MoviePy简介及Python视频剪辑自动化的相关知识,感兴趣的朋友一起看看吧
    2020-12-12
  • colab中修改python版本的全过程

    colab中修改python版本的全过程

    日 对于没有服务器的研究生来说,Colab无疑是性价比最高的GPU选择,下面这篇文章主要给大家介绍了关于如何利用colab修改python版本的相关资料,需要的朋友可以参考下
    2022-04-04
  • Python实现CET查分的方法

    Python实现CET查分的方法

    这篇文章主要介绍了Python实现CET查分的方法,实例分析了Python操作链接查询的技巧,需要的朋友可以参考下
    2015-03-03
  • 使用Python实现PDF页面设置操作

    使用Python实现PDF页面设置操作

    这篇文章主要为大家详细介绍了如何使用Python实现PDF页面设置操作,例如旋转页面和调整页面顺序,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • python计算机视觉opencv卡号识别示例详解

    python计算机视觉opencv卡号识别示例详解

    这篇文章主要为大家介绍了python计算机视觉opencv卡号识别的实现示例详解,有需要的朋友可以借鉴参考下 希望能够有所帮助,祝大家多多进步
    2021-11-11
  • Python入门变量的定义及类型理解

    Python入门变量的定义及类型理解

    本文适合编程语言零基础的初学者,有打算转行学习python的可以添加关注,后续小编将会把自己转行学pyhton语言以来的所有笔记,和工作中总结的一些开发经验分享给大家
    2021-09-09

最新评论