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

150 篇文章 3 订阅

全文链接: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图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值