当前位置:   article > 正文

wordcloud Python中的词云库_python生成心性词云

python生成心性词云

Python中的词云库是一个非常流行的文本可视化工具,可以将文本中的关键词以词云形式呈现。本篇文章将详细讲解Python中的词云库的使用和API以及代码注释。

  1. 安装词云库

安装词云库的方式很简单,只需要在命令行中使用pip命令即可。具体命令如下所示:

pip install wordcloud
  • 1
  1. 导入词云库

导入词云库的方式也很简单,只需要在Python代码中添加下面这行代码即可:

from wordcloud import WordCloud
  • 1

这样,我们就可以在后面的代码中使用词云库了。

  1. 构建词云

要构建词云,首先需要准备一个文本文件。这里我们使用一个名为example.txt的文本文件作为例子。文件内容如下所示:

Python is great
I love coding in Python
Python is awesome
I am a Python developer
  • 1
  • 2
  • 3
  • 4

接下来,我们需要读取这个文本文件,并使用词云库生成词云。代码如下所示:

# 导入必要的库
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 读取文本文件
with open('example.txt', 'r') as f:
    text = f.read()

# 生成词云
wordcloud = WordCloud().generate(text)

# 显示词云图像
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

代码解释:

  • 第2行:导入必要的库。
  • 第4行:使用with语句读取文本文件。with语句可以自动管理文件的打开和关闭,并且在with语句中打开的文件一旦使用结束,就会自动关闭。
  • 第8行:使用WordCloud类生成词云。这里使用默认参数构建WordCloud对象,因此生成的是一张简单的词云图。
  • 第11~13行:显示词云图像。使用plt.imshow()函数显示词云;使用plt.axis()函数和参数’off’隐藏坐标轴;使用plt.show()函数显示图像。
  1. 设定词云参数

WordCloud类有很多参数可以调整,以生成不同风格的词云。下面是一些常见的参数:

  • font_path:字体文件路径。
  • width:词云图像的宽度。
  • height:词云图像的高度。
  • background_color:词云图像的背景颜色。
  • mode:指定词云的排列方式。

下面是构建词云时使用一些参数的示例代码:

# 导入必要的库
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 读取文本文件
with open('example.txt', 'r') as f:
    text = f.read()

# 设定词云参数
params = {
    'font_path': 'font.ttf',
    'width': 800,
    'height': 600,
    'background_color': 'white',
    'mode': 'RGBA'
}

# 生成词云
wordcloud = WordCloud(**params).generate(text)

# 显示词云图像
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

代码解释:

  • 第8~13行:定义词云参数,存储在一个字典中。这里设定字体文件为当前目录下的font.ttf;词云图像的宽度为800像素,高度为600像素;词云的背景颜色为白色,排列方式采用RGBA模式。
  • 第16行:生成词云对象,通过词云参数传递给WordCloud类。
  • 第19~21行:同上。
  1. 词云形状

词云图像中,我们可以使用自定义的形状来限制词云中词汇的分布。下面展示了如何使用一个心形的形状来生成词云。首先,我们需要用一个心形图片来生成形状。代码如下所示:

# 导入必要的库
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

# 读取图片并处理为灰度图像
image = Image.open('heart.png')
image = image.convert('L')
image = np.array(image)

# 显示图片
plt.imshow(image, cmap=plt.cm.gray, interpolation='bilinear')
plt.axis('off')
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

代码解释:

  • 第2~6行:导入必要的库以及图片处理。
  • 第8行:使用Image类读取图片。
  • 第9行:将图片转换为灰度图像。
  • 第10行:将图像转换为Numpy数组。
  • 第13~15行:显示图片,使用plt.imshow()函数显示图片,使用参数cmap=plt.cm.gray指定为灰度图像;使用plt.axis()函数和参数’off’隐藏坐标轴;使用plt.show()函数显示图像。

在有了自定义形状图片之后,我们就可以使用WordCloud类的mask参数指定将要使用的形状图片。使用自定义形状的词云代码如下所示:

# 导入必要的库
from wordcloud import WordCloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

# 读取文本文件
with open('example.txt', 'r') as f:
    text = f.read()

# 读取自定义形状图片
mask = np.array(Image.open('heart.png').convert('L'))

# 设定词云参数
params = {
    'font_path': 'font.ttf',
    'width': 800,
    'height': 600,
    'background_color': 'white',
    'mode': 'RGBA',
    'mask': mask
}

# 生成词云
wordcloud = WordCloud(**params).generate(text)

# 显示词云图像
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

代码解释:

  • 第2~9行:同前面的示例。
  • 第12~15行:使用Image类读取自定义形状图片,并转换为灰度图像和Numpy数组。
  • 第18~25行:同前面的示例。
  • 第28行:使用WordCloud类的mask参数指定自定义形状图片为词云形状。
  1. 结语

这篇文章介绍了Python中词云库的基本使用方法和常见API,以及使用注释的代码示例。当然,以上的示例代码仅是最基础的使用方式,更多高级用法需要大家自行去探索。希望这篇文章能够帮助初学者们快速上手使用词云库。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/506556
推荐阅读
相关标签
  

闽ICP备14008679号