【數據可視化-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.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 通過分析學生學習數據,如答題情況、學習時間等&…