Python制作词云图代码实例

下面是“Python制作词云图代码实例”的完整攻略:

1. 准备工作

  • 安装Python环境及相关的库:jieba,wordcloud
  • 准备好需要生成词云图的文本

2. 数据预处理

首先,需要对文本进行预处理,将其中的无用字符剔除,只留下有效的文本部分,例如:

import jieba

# 读取文本文件
with open('input.txt', 'r', encoding='utf-8') as f:
    text = f.read()

# 使用jieba分词
word_list = jieba.cut(text)

3. 生成词频统计数据

其次,需要对分好词的文本进行统计,生成词频数据,可以使用Python中的Counter:

from collections import Counter

# 统计词频
word_count = Counter(word_list)

4. 生成词云图

生成词云图需要使用wordcloud库,先创建一个WordCloud对象,并设置相关参数:

from wordcloud import WordCloud

# 创建WordCloud对象
wc = WordCloud(
    font_path='msyh.ttc',  # 字体文件路径
    max_words=200,  # 最大词数
    width=800,  # 画布宽度
    height=600,  # 画布高度
    background_color='white',  # 背景色
)

然后,使用generate_from_frequencies方法,生成词云图:

# 生成词云图
wc.generate_from_frequencies(word_count)

# 显示词云图
import matplotlib.pyplot as plt
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()

示例说明1:生成一张简单的根据中文文本生成的词云图:

import jieba
from collections import Counter
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 读取文本文件
with open('input.txt', 'r', encoding='utf-8') as f:
    text = f.read()

# 使用jieba分词
word_list = jieba.cut(text)

# 统计词频
word_count = Counter(word_list)

# 创建WordCloud对象
wc = WordCloud(
    font_path='msyh.ttc',  # 字体文件路径
    max_words=200,  # 最大词数
    width=800,  # 画布宽度
    height=600,  # 画布高度
    background_color='white',  # 背景色
)

# 生成词云图
wc.generate_from_frequencies(word_count)

# 显示词云图
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()

示例说明2:在生成的词云图中添加自定义形状,使词云图呈现该形状:

import jieba
from PIL import Image
from collections import Counter
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 读取文本文件
with open('input.txt', 'r', encoding='utf-8') as f:
    text = f.read()

# 使用jieba分词
word_list = jieba.cut(text)

# 统计词频
word_count = Counter(word_list)

# 创建WordCloud对象
mask = np.array(Image.open('mask.png'))  # 自定义形状
wc = WordCloud(
    font_path='msyh.ttc',  # 字体文件路径
    max_words=200,  # 最大词数
    mask=mask,  # 自定义形状
    width=800,  # 画布宽度
    height=600,  # 画布高度
    background_color='white',  # 背景色
)

# 生成词云图
wc.generate_from_frequencies(word_count)

# 显示词云图
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()

注意事项:
- 图片文件需要与python文件放在同一目录下或指定目录
- 如果使用的是中文文本,需要先安装中文字体,在WordCloud对象中设置font_path参数,保证词云图中的中文文本显示正常
- 另外需要注意的是,生成的词云图是基于词频统计的,因此,如果用于分析词汇语义,需要对文本进行一些更深入的处理,在此不再赘述。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python制作词云图代码实例 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 如何使用 Redis 的事务来保证数据一致性?

    以下是详细讲解如何使用 Redis 的事务来保证数据一致性的完整使用攻略。 Redis 事务简介 Redis 是一种高性能的键值存储数据库,支持多种数据结构和高级功能。其中,事务是 Redis 的一个重要功能,可以将多个命令打包成一个事务,保证这些命令的原子性执行。Redis 事务的特点如下: Redis 务是原子性的,要么全部执行成功,要么全部执行失败。 …

    python 2023年5月12日
    00
  • 在python中利用try..except来代替if..else的用法

    以下是“在Python中利用try..except来代替if..else的用法”的完整攻略,其中包括了try..except语句的定义、使用方法、示例说明以及优缺点分析。 在Python中利用try..except来代替if..else的用法 try..except语句的定义 try..except语句是Python中用于异常处理的一种语句。它可以帮助我们在…

    python 2023年5月13日
    00
  • Python 如何在字符串中插入变量

    为了在字符串中插入变量,Python提供了两种主要的方式,一种是使用f-strings,另一种是使用format方法。下面对这两种方法进行详细讲解。 使用f-strings f-strings是Python 3.6新增的字符串格式化方法,使用它可以非常方便地插入变量。它的语法非常简单,就是在字符串前加上字母”f”,然后在字符串中使用大括号{}来表示变量。示例…

    python 2023年6月5日
    00
  • python之Character string(实例讲解)

    首先我来详细讲解一下“Python之Character String(实例讲解)”的完整攻略。 什么是Character String? 在 Python 中,字符字符串就是由一系列字符组成的序列。其中,字符指的是 Unicode 字符。 在 Python 中创建字符字符串时,需要用一对单引号、双引号或三引号将字符括起来。 例如,下面是一个创建字符字符串的示…

    python 2023年5月31日
    00
  • Python实现创建模块的方法详解

    Python实现创建模块的方法详解 什么是模块 在Python中,模块(Module)是指一个包含Python定义和声明的文件。模块可以用来组织代码,同时也可以用来隐藏细节和实现信息,保护数据。 创建Python模块的方法 方法一:新建.py文件 步骤一:定义模块 在新建的.py文件中,我们可以定义变量、函数、类等,例如: # mymodule.py # 定…

    python 2023年6月2日
    00
  • pytorch中函数tensor.numpy()的数据类型解析

    PyTorch是一个开源的机器学习框架,其中的Tensor是其核心数据类型。Tensor由数据及其相关的操作方法构成,可以理解为多维数组。在Tensor中,我们往往需要对数据进行操作和分析,而函数tensor.numpy()就是将Tensor数据类型转换为numpy的多维数组数据类型。 使用tensor.numpy()函数的步骤 使用tensor.numpy…

    python 2023年6月3日
    00
  • Python通用循环的构造方法实例分析

    Python通用循环的构造方法实例分析 什么是循环? 循环是一种程序结构,可以让某些代码块重复执行。循环可以让我们节省时间和代码,在处理大量数据或者需要重复相同操作的任务时特别有用。在Python中有很多种循环的构造方法,包括while循环、for循环等。在接下来的内容中,我们将详细介绍这些方法的使用。 while循环的构造方法 while循环用于循环执行某…

    python 2023年6月6日
    00
  • 介绍Python中几个常用的类方法

    介绍Python中几个常用的类方法 在Python中,类方法是可以被类调用的方法。与实例方法相比,类方法在操作类级别的属性或方法时更方便。下面介绍几个常用的类方法。 @classmethod装饰器 @classmethod 是一个装饰器,用于定义类方法。它的第一个参数始终是 cls,代表当前的类(而非实例)。 例如: class MyClass: name …

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部