使用R語言創建自定義桑基圖Sankey圖


 

 

  

原文鏈接:http://tecdat.cn/?p=9101

 

本文將描述如何在R中創建自定義Sankey圖。我將首先解釋Sankey圖的基礎,然后提供自動創建和手動控制的布局的示例。

Sankey圖的元素

Sankey圖是一種可視化數據流的方式。Sankey圖由三組元素組成:  節點,  鏈接和確定其位置的指令

首先,有節點。在下面的示例中,方框表示四個節點

這些鏈接具有 與之關聯的,該值由鏈接的厚度表示。在示例中,連接節點A和節點B的第一條鏈接的寬度是連接A和C的第二條鏈接的寬度的一半。此外,從B到D的鏈接再次變大,最大的鏈接是從C到D。

 

使用R


nodes = data.frame("name" =
 c("Node A", # Node 0
...
 "Node D"))# Node 3
links = as.data.frame(matrix(c(
 0, 1, 10, # Each row represents a link. The first number
....
 byrow = TRUE, ncol = 3))
names(links) = c("source", "target", "value")
sankeyNetwork(Links = links, Nodes = nodes,
 Source = "source", Target = "target",
 Value = "value", NodeID = "name",
 fontSize= 12, nodeWidth = 30)

此代碼的一些方面要注意:
  • 第1行加載程序包。
  • 第2至6行創建一個數據框。
  • 第7至11行指定鏈接。
  • 最后幾行使用sankeyNetwork函數。

如果要修改此示例,則只需修改節點(此示例中的第3至6行)和鏈接(第8至11行)即可。

使用自動布局的Sankey圖

 

如果您有任何疑問,請在下面發表評論。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM