使用R语言创建自定义桑基图Sankey图

作者: 拓端tecdat | 来源:发表于2020-03-26 19:13 被阅读0次

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

    本文将描述如何在R中创建自定义Sankey图。我将首先解释Sankey图的基础,然后提供自动创建和手动控制的布局的示例。

    Sankey图的元素

    Sankey图是一种可视化数据流的方式。Sankey图由三组元素组成:节点链接和确定其位置的指令

    首先,有节点。在下面的示例中,方框表示四个节点

    need-to-insert-img

    这些链接具有与之关联的,该值由链接的厚度表示。在示例中,连接节点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)

    need-to-insert-img

    此代码的一些方面要注意:

    第1行加载程序包。

    第2至6行创建一个数据框。

    第7至11行指定链接。

    最后几行使用sankeyNetwork函数。

    如果要修改此示例,则只需修改节点(此示例中的第3至6行)和链接(第8至11行)即可。

    使用自动布局的Sankey图

    need-to-insert-img

    need-to-insert-img

    相关文章

      网友评论

        本文标题:使用R语言创建自定义桑基图Sankey图

        本文链接:https://www.haomeiwen.com/subject/llqhuhtx.html