当前位置: 首页 > article >正文

使用 Python的Pyecharts 绘制词云图

使用 Pyecharts 绘制词云图

词云图(Word Cloud)是一种常用的可视化方法,用于展示文本数据中各个词汇的频率,词频越高的词汇会以更大的字体显示。Pyecharts 提供了绘制词云图的功能,我们将在本案例中一步一步讲解如何使用 Pyecharts 绘制词云图。
在这里插入图片描述

一、安装所需库

Pyecharts 库安装后,已经自带了绘制词云图的功能,因此无需单独安装 WordCloud 库。只需要安装 pyecharts 库即可:

pip install pyecharts
二、准备词云数据

词云图的绘制需要一个词频数据集,通常我们会从一篇文章或者文本文件中提取出各个词的频率。为了演示方便,本案例使用一段简单的文本数据。

# 词频数据:一个字典,键是单词,值是单词的频率
word_frequencies = {
    "Python": 100,
    "Java": 80,
    "C++": 60,
    "JavaScript": 50,
    "数据分析": 90,
    "机器学习": 70,
    "人工智能": 85,
    "深度学习": 75,
    "区块链": 40,
    "大数据": 60,
}
三、导入相关库

我们需要导入 Pyecharts 库中的 WordCloud 类和 opts 配置类。

from pyecharts.charts import WordCloud
from pyecharts import options as opts
四、创建并配置词云图

在这个步骤中,我们使用 WordCloud() 创建一个词云图实例,并通过 add() 方法将词频数据添加到图表中。通过 set_global_opts() 配置全局参数,例如图表的标题。我们还可以通过 set_series_opts() 设置标签的样式,如旋转角度、字体大小等。

# 创建词云图实例
wordcloud = WordCloud()

# 添加词频数据,数据需要转换为列表格式,每个元素为 (词语, 频率)
wordcloud.add("", list(word_frequencies.items()))

# 设置图表的全局配置,包括标题
wordcloud.set_global_opts(
    title_opts=opts.TitleOpts(title="词云图示例")
)

# 设置标签的样式,调整旋转角度、字体大小等
wordcloud.set_series_opts(
    label_opts=opts.LabelOpts(
        rotate=30,  # 旋转角度
        font_size=20,  # 字体大小
        font_family="Arial",  # 字体类型
    )
)
五、渲染图表

最后,我们使用 render() 方法生成图表并将其保存为 HTML 文件,供我们在浏览器中查看。

# 渲染词云图到 HTML 文件,设置宽度和高度
wordcloud.render("wordcloud_example.html")
六、完整代码

以下是完整的代码,包含详细注释。

from pyecharts.charts import WordCloud
from pyecharts import options as opts

# 词频数据:一个字典,键是单词,值是单词的频率
word_frequencies = {
    "Python": 100,
    "Java": 80,
    "C++": 60,
    "JavaScript": 50,
    "数据分析": 90,
    "机器学习": 70,
    "人工智能": 85,
    "深度学习": 75,
    "区块链": 40,
    "大数据": 60,
}

# 创建词云图实例
wordcloud = WordCloud()

# 添加词频数据,数据需要转换为列表格式,每个元素为 (词语, 频率)
wordcloud.add("", list(word_frequencies.items()))

# 设置图表的全局配置,包括标题
wordcloud.set_global_opts(
    title_opts=opts.TitleOpts(title="词云图示例")
)

# 设置标签的样式,调整旋转角度、字体大小等
wordcloud.set_series_opts(
    label_opts=opts.LabelOpts(
        rotate=30,  # 旋转角度
        font_size=20,  # 字体大小
        font_family="Arial",  # 字体类型
    )
)

# 渲染图表到 HTML 文件
wordcloud.render("wordcloud_example.html")
七、代码解析
  1. 词频数据:
    这里我们使用一个字典 word_frequencies 来存储词汇和它们的频率,字典的键是词汇,值是对应的频率。

  2. 创建词云图实例:
    使用 WordCloud() 创建一个词云图对象 wordcloud。这是我们后续操作的基础。

  3. 添加数据:
    使用 add() 方法将词频数据添加到词云图中。list(word_frequencies.items()) 将字典转换成一个列表形式,每个元素是一个元组(词语,频率)。

  4. 设置全局配置:
    使用 set_global_opts() 设置图表的全局配置,包括标题、宽度和高度。这里我们设置了图表的标题为 "词云图示例"

  5. 设置样式:
    使用 set_series_opts() 配置标签的显示样式。我们将标签的旋转角度设置为 30 度,字体大小设置为 20,字体类型为 Arial。

  6. 渲染图表:
    使用 render() 方法生成 HTML 文件,将图表渲染并保存为 wordcloud_example.html。你可以在浏览器中打开这个文件查看生成的词云图。

八、运行结果

运行上述代码后,会生成一个名为 wordcloud_example.html 的文件。你可以在浏览器中打开这个文件,查看绘制的词云图。词汇的大小由其频率决定,频率越高的词汇显示得越大,形态美观且具有一定的可读性。
在这里插入图片描述

总结

通过以上步骤,我们展示了如何使用 Pyecharts 绘制词云图。我们使用了 Pyecharts 内置的词云图功能,结合 Python 字典数据生成词频数据,并通过配置图表样式,最终生成了一个包含关键词和频率的美观词云图。你可以根据自己的需求修改词频数据、调整图表样式,生成适合自己需求的词云图。这种可视化方法非常适合用来展示文本数据中的重要信息。


http://www.kler.cn/a/400156.html

相关文章:

  • React Native 全栈开发实战班 - 数据管理与状态之Zustand应用
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】自定义View
  • 浅谈数据仓库的架构及其演变
  • Linux下编译MFEM
  • 贪心算法入门(三)
  • PostgreSQL高可用Patroni安装(超详细)
  • torch.is_storage()
  • 部分利用oracle数据字典查询对应信息的语句。
  • 基于Python的招聘信息推荐系统
  • 力扣(leetcode)面试经典150题——27. 移除元素
  • gitlab容器的迁移(部署)并配置自动备份
  • [webgis 0基础到找工作]------JavaScript--DOM 注册事件 day09
  • vue实现展示并下载后端返回的图片流
  • uniapp 修改网页标题title
  • 【新人系列】Python 入门(十一):控制结构
  • ODC 如何精确呈现SQL耗时 | OceanBase 开发者工具解析
  • halcon3D gen_image_to_world_plane_map的图像高精度拼接技术
  • 计算机网络-MSTP基础实验一(单域多实例)
  • HTML、CSS与JavaScript基础
  • 云原生周刊:Kubernetes v1.32 要来了
  • golang开源框架:go开源验证框架validator
  • leetcode 面试150之 Z 字形变换
  • Solana应用开发常见技术栈
  • 高效服务器管理新选择:CasaOS轻NAS系统部署1Panel面板并实现远程访问
  • 如何用Excel批量提取文件夹内所有文件名?两种简单方法推荐
  • sql专场练习(二)(11-15)