🧑 博主簡介:曾任某智慧城市類企業
算法總監
,目前在美國市場的物流公司從事高級算法工程師
一職,深耕人工智能領域,精通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 繪制主題河流圖,并重點介紹了主題河流圖的數據組織形式。通過嵌套的列表結構,我們可以輕松地組織和展示多個時間序列數據。主題河流圖不僅美觀,而且非常直觀,特別適合展示多個時間序列數據的動態變化。