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

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

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通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.dtcms.com/a/342687.html

相关文章:

  • 如何使用 DeepSeek 助力工作​
  • C# 13 与 .NET 9 跨平台开发实战(第一章:开发环境搭建与.NET概述-下篇)
  • 阿里云的centos8 服务器安装MySQL 8.0
  • 【LeetCode 415】—字符串相加算法详解
  • Java学习历程14——制作一款五子棋游戏(4)
  • R 语言科研配色 --- 第 85 期 (附免费下载的配色绘图PPT)
  • 全屋WiFi强电款WiFi6 86面板一站式测试解决方案
  • leetcode 904 水果成篮
  • 从零开始理解 K 均值聚类:原理、实现与应用
  • Grafana侧重可视化,那多数据源告警呢?
  • Linux的奇妙冒险——进程间通信(管道、SystemV IPC)
  • 【实战记录】麒麟服务器操作系统安装KSC-Defender安全中心全指南
  • EagleTrader交易员采访|交易是一场概率游戏
  • 免费DirectX修复工具?游戏运行异常?【图文详解】dll修复工具?D3DX9_43.dll丢失
  • 【科研绘图系列】R语言绘制序列分析图
  • Rust 的流程控制与函数
  • SQL 中 DISTINCT 的全方位指南:从基础用法到性能优化
  • 【51单片机】【protues仿真】基于51单片机温度烟雾控制系统
  • C++项目实战——高性能内存池(一)
  • Redis面试精讲 Day 26:Redis源码分析:事件循环与网络模型
  • docker使用和部署深化学习
  • 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第一章知识点问答(21题)
  • 华为AUTOSAR质量目标与开发实践
  • LeetCode100 -- Day3
  • 常德二院全栈国产化实践:KingbaseES 数据库的关键作用
  • 机器学习聚类算法学习报告
  • Spring容器Bean的创建流程
  • 使用jwt+redis实现单点登录
  • Matplotlib+HTML+JS:打造可交互的动态数据仪表盘
  • Android - 统一资源标识符 Uri