您的位置 首页 > 腾讯云社区

桑基图---生信编程日常

桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。因1898年Matthew Henry Phineas Riall Sankey绘制的“蒸汽机的能源效率图”而闻名,此后便以其名字命名为“桑基图”。因1898年Matthew Henry Phineas Riall Sankey绘制的“蒸汽机的能源效率图”而闻名,此后便以其名字命名为“桑基图”。

R语言里面主要用networkD3包的sankeynetwork()函数. 主要参数为:

sankeyNetwork(Links, Nodes, Source, Target, Value, NodeID, NodeGroup = NodeID, LinkGroup = NULL, units = "", colourScale = JS("d3.scaleOrdinal(d3.schemeCategory20);"), fontSize = 7, fontFamily = NULL, nodeWidth = 15, nodePadding = 10, margin = NULL, height = NULL, width = NULL, iterations = 32, sinksRight = TRUE)

桑基图的数据结构很简单,只有三列数据信息,起点,终点,权重. 一个比较好的示例原文链接https://rpubs.com/dmormandy/DV_Sankey 如下

library(networkD3) nodes = data.frame("name" = c("CUBD15_CAULFIELD_SOUTH","CUBDEM1","GMWE15_GLENHUNTLY_WEST","CUBD15_CAULFIELD_SOUTH", "OMND15_ORMOND","BTED15_BRIGHTON_EAST","GMWEEM2","GMWEEM3","CUBDEM2","CUBDEM3", "OMNDEM3","BTEDEM3","CUBDEM2","GVAD15_GARDENVALE","HUID15_HURLINGHAM_PARK", "GVADEM1","HUIDEM3","OMNDEM3","GVADEM3","GVADEM2")) links = as.data.frame(matrix(c( 0,1,6861,1,2,5284,1,3,1111,1,4,349,1,5,117,2,6,3368,2,7,1916,3,8,590,3,9,521,4,10,349,5,11,117,0,8,11979,8,13,7616,8,14,1283, 8,4,1213,8,3,1474,8,5,393,13,15,6866,14,16,1283,4,10,1213,3,9,904,3,1,570,13,18,440,5,11,393,13,19,310), 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)

image.png

参考: https://zhuanlan.zhihu.com/p/26897906

---来自腾讯云社区的---生信编程日常

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: