🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

【数据可视化-96】使用 Pyecharts 绘制主题河流图(ThemeRiver):步骤与数据组织形式

    • 一、引言
    • 二、主题河流图的特点
    • 三、数据组织形式
      • 3.1 数据的组织形式
      • 3.2 主题名称
    • 四、绘制主题河流图的步骤
      • 4.1 安装 Pyecharts
      • 4.2 准备数据
      • 4.3 初始化主题河流图
      • 4.4 添加数据
      • 4.5 设置全局选项
      • 4.6 渲染图表
    • 五、运行结果
      • 5.1 主题河流图展示
      • 5.2 数据可视化
    • 六、总结


一、引言

  在数据可视化中,主题河流图(ThemeRiver)是一种非常直观的图表,用于展示多个主题随时间变化的趋势。它特别适合展示多个时间序列数据的动态变化。本文将详细介绍如何使用 Pyecharts 绘制主题河流图,并重点介绍主题河流图的数据组织形式。

二、主题河流图的特点

  主题河流图是一种动态的时间序列图表,用于展示多个主题随时间的变化趋势。每个主题在不同时间点的值用宽度表示,时间轴通常从左到右展开。主题河流图特别适合展示多个时间序列数据的动态变化,如不同产品的销售趋势、不同地区的经济发展趋势等。

三、数据组织形式

  主题河流图的数据组织形式通常是一个嵌套的列表结构,每个元素代表一个时间点,每个时间点包含多个主题的值。每个主题的值是一个列表,包含时间点和该主题的值。

3.1 数据的组织形式

  数据是一个二维列表,每个子列表表示一个时间点,每个时间点的长度必须与主题数量一致。例如:

data = [["2015/11/08", 10, "DQ"],["2015/11/09", 15, "DQ"],...["2015/11/08", 36, "TY"],["2015/11/09", 37, "TY"],...["2015/11/08", 21, "SS"],["2015/11/09", 25, "SS"],...["2015/11/08", 10, "QG"],["2015/11/09", 15, "QG"],...["2015/11/08", 22, "SY"],["2015/11/09", 10, "SY"],...["2015/11/08", 10, "DD"],["2015/11/09", 15, "DD"],...
]

3.2 主题名称

  主题名称是一个列表,每个元素代表一个主题的名称。例如:

themes = ["DQ", "TY", "SS", "QG", "SY", "DD"]

四、绘制主题河流图的步骤

4.1 安装 Pyecharts

  在开始之前,确保已经安装了 Pyecharts。可以通过以下命令安装:

pip install pyecharts

4.2 准备数据

  根据主题河流图的数据组织形式,准备你的数据。以下是一个完整的例子:

data = [["2015/11/08", 10, "DQ"],["2015/11/09", 15, "DQ"],...["2015/11/08", 36, "TY"],["2015/11/09", 37, "TY"],...["2015/11/08", 21, "SS"],["2015/11/09", 25, "SS"],...["2015/11/08", 10, "QG"],["2015/11/09", 15, "QG"],...["2015/11/08", 22, "SY"],["2015/11/09", 10, "SY"],...["2015/11/08", 10, "DD"],["2015/11/09", 15, "DD"],...
]themes = ["DQ", "TY", "SS", "QG", "SY", "DD"]

4.3 初始化主题河流图

  使用 Pyecharts 的 ThemeRiver 组件来绘制主题河流图。

from pyecharts.charts import ThemeRiver
from pyecharts import options as opts# 初始化主题河流图
theme_river = ThemeRiver(init_opts=opts.InitOpts(width="1000px", height="600px", bg_color="#0d0735"))

4.4 添加数据

  将准备好的数据添加到主题河流图中。

theme_river.add(series_name=themes,data=data,singleaxis_opts=opts.SingleAxisOpts(pos_top="50", pos_bottom="50", type_="time"),)

4.5 设置全局选项

  设置主题河流图的全局选项,如标题、视觉映射等。

theme_river.set_global_opts(tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="line"))

4.6 渲染图表

  将主题河流图渲染为 HTML 文件,以便查看效果。

theme_river.render("主题河流图示例.html")

五、运行结果

  运行上述代码后,会生成一个名为 主题河流图示例.html 的文件。打开该文件,可以看到如下效果:

5.1 主题河流图展示

  主题河流图展示了多个主题随时间的变化趋势。每个主题在不同时间点的值用宽度表示,时间轴从左到右展开。通过不同的颜色区分不同的主题,可以直观地看到每个主题在不同时间点的变化趋势。

5.2 数据可视化

  主题河流图特别适合展示多个时间序列数据的动态变化。通过视觉映射(VisualMap),数据值被分为不同的区间,每个区间用不同的颜色表示。这使得我们能够直观地看到不同主题在不同时间点的差异。

六、总结

  本文详细介绍了如何使用 Pyecharts 绘制主题河流图,并重点介绍了主题河流图的数据组织形式。通过嵌套的列表结构,我们可以轻松地组织和展示多个时间序列数据。主题河流图不仅美观,而且非常直观,特别适合展示多个时间序列数据的动态变化。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/94161.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/94161.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/94161.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Android】Activity 如何进行数据传输

三三要成为安卓糕手 一:Activity之间的数据传输 问题:不同的Activity之间怎么进行数据传输呢? 比如第一个页面中有一些字符串数据之类的要通过数据传输,传递给第二个页面进行显示的 1:MainActivity做处理 在定义一个按钮&#xf…

C#语言的语法(数据类型)

数据类型 表2.1给出了C#的主要数据类型。注意,基本类型的长度与计算机或操作系统的类型无关。C# 中的字符是16位的宽度,可以表示非拉丁语言中的所有字符。它使用一种叫双字节码的字符编码 系统,其中定义了绝大多数可书写语言的数以千计的字符…

Vue3 + TypeScript全局阻止非输入区域的Backspace键,防止回退页面

main.ts/*** 应用程序主入口** 初始化 Vue 应用并挂载到 DOM*/ import "./assets/style/main.scss";import { createApp } from "vue"; // 全局引入element-plus,对打包后的文件大小不是很在乎,那么使用全局导入会更方便 import Ele…

01数据结构-堆排序

01数据结构-堆排序前言1.堆2.堆的操作逻辑3.堆的代码实现前言 数据结构中的堆是一种结构,C语言的堆是空间管理的程序员malloc,free的空间,两者没多大关系。 1.堆 逻辑上 堆(Heap)是一类基于完全二叉树的特殊数据结构…

在线课程|基于SprinBoot+vue的在线课程管理系统(源码+数据库+文档)

在线课程 目录 基于SprinBootvue的在线课程管理系统 一、前言 二、系统设计 三、系统功能设计 1 管理员模块的实现 2在线课程 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|…

Python海象运算符:=

文章目录简介​​条件判断优化循环控制简化​推导式高效计算​正则匹配与数据提取​性能对比参考文献简介 海象运算符 :,又称​​赋值表达式​​(Assignment Expression),Python 3.8 后可用,PEP 572 引入,…

Vue 2 项目中快速集成 Jest 单元测试(超详细教程)

在 Vue 项目中编写单元测试,是提升代码质量和维护性的关键一步。本文将带你从零开始,在一个 Vue 2 Vue CLI 项目中集成 Jest 作为单元测试框架,并运行第一个测试用例。✅ 适用于 Vue 2 项目(如你使用的是 vue-cli-service&#x…

PostgreSQL15——管理表空间

管理表空间一、基本概念二、创建表空间三、修改表空间四、删除表空间一、基本概念 在 PostgreSQL 中,它是通过表空间(Tablespaces)来实现逻辑对象(表、索引等)与物理文件之间的映射。创建数据库或者数据表&#xff08…

趣打印高级版--手机打印软件!软件支持多种不同的连接方式,打印神器有这一个就够了!

软件介绍(文末获取)趣打印高级版是一款手机打印软件。软件支持五种不同的连接方式,每种都有稳定且快速的反应,用户均可通过手机进行打印机的远程使用和设置。软件还支持上传不同格式的文档类型进行打印,方便快捷&#…

【开源框架】7 款流行的 Vue 3 后台管理框架对比

以下是 7 个流行的 Vue 3 后台管理框架在 Star 数(截至 2025 年 8 月21日的 GitHub 最新数据)、框架特点、基于的技术栈及开源协议四个方面的详细对比: 1. Vue-Vben-Admin GitHub 地址:https://github.com/vbenjs/vue-vben-admin…

Datawhale工作流自动化平台n8n入门教程(一):n8n简介与平台部署

前言 在数字化时代,重复性的工作任务正在消耗着我们大量的时间和精力。从数据同步到营销自动化,从客户服务到内容管理,这些琐碎但必要的任务往往让我们疲于应对。而工作流自动化工具的出现,为我们提供了一个优雅的解决方案。 今天…

SRE - 定位与能力

仅为个人知识总结与记录 Site Reliability Engineer:站点可靠性工程(SRE 软件工程师 运维专家 可靠性专家) 相对传统的运维工程师,SER 注重开发,效率,追求自动化。对于 SRE 工程师,追究的就是…

StarRocks学习4-查询优化与性能调优

✅ 1. 执行计划分析(EXPLAIN) 🌟 作用: 用于查看 SQL 的执行路径,判断是否命中索引、物化视图、Join 策略、并行度等。 📌 常用命令: EXPLAIN SELECT ...; EXPLAIN VERBOSE SELECT ...;&#x1…

CentOS系统安装Git全攻略

文章目录✅ 方法一:使用 yum 或 dnf 包管理器安装(推荐)1. 更新系统软件包(非必须)[^1]2. 安装 Git3. 验证安装✅ 方法二:从源码编译安装(适用于需要自定义版本或配置)1. 安装依赖包2. 下载 Git 源码3. 编译…

VR交通安全学习机-VR交通普法体验馆方案

VR交通安全学习机是一种基于虚拟现实技术的互动式教育设备,旨在通过虚拟环境模拟真实的交通场景,帮助用户深入了解交通规则、交通信号、道路安全等知识,并通过沉浸式的体验让他们亲身感受到不遵守交通规则的后果。无论是驾驶员、行人还是骑行…

算法题(188):团伙

审题: 本题需要我们通过解析所有人之间的关系,从而判断出朋友团体的总个数并输出 思路: 方法一:扩展域并查集 由于这里涉及对朋友/敌人等关系集合的频繁操作,所以我们需要使用并查集来操作,但是普通的并查集…

C++开发/Qt开发:单例模式介绍与应用

单例模式是软件设计模式中最简单也是最常用的一种创建型设计模式。它的核心目标是确保一个类在整个应用程序生命周期中只有一个实例,并提供一个全局访问点。笔者白话版理解:你创建了一个类,如果你希望这个类对象在工程中应用时只创建一次&…

Linux笔记---策略模式与日志

1. 设计模式设计模式是软件开发中反复出现的问题的通用解决方案,它是一套套被反复使用、多数人知晓、经过分类编目的代码设计经验总结。设计模式并非具体的代码实现,而是针对特定问题的抽象设计思路和方法论。它描述了在特定场景下,如何组织类…

关于多个el-input的自动聚焦,每输入完一个el-input,自动聚焦到下一个

讲解原理或者思路:如果你有多个el-input,想要实现每输入完一个输入框,然后自动聚焦到下一个输入框,同理,如果每删除一个输入框的值,自动聚焦到上一个输入框。条件那么首先要做的就是,设置条件,在…

AI 赋能教育变革:机遇、实践与展望

引言说明教育在社会发展中的重要地位,以及传统教育面临的困境。引出 AI 技术为教育变革带来新机遇,阐述研究其在教育中应用的价值。AI 为教育带来的机遇个性化学习支持:讲解 AI 通过分析学生学习数据,如答题情况、学习时间等&…