r 中的 sankeyNetwork 有序节点
sankeyNetwork ordered nodes in r
我正在尝试使用 networkD3 库在 R 中构建桑基图。
我有以下数据
print(nodes1)
name
1 as
2 sdf
3 wer
4 xc
5 sd
6 er
print(links)
source target value
1 0 5 112
2 0 4 848
3 0 4 661
4 0 4 33
5 0 3 291
6 1 5 23
7 1 4 983
8 1 3 859
9 1 3 35
10 2 4 537
因此,当我尝试使用以下代码创建 sankeyNetwork 时
sankeyNetwork(Links = links1, Nodes = nodes1,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
fontSize= 12, nodeWidth = 30)
我得到以下结果。
但是,它没有按顺序打印节点。
在我的节点数据框中,"as" 是第一个节点,"sdf" 是第二个节点。但是,在图像中,我将 "as" 作为第一个节点,将 "wer" 作为第二个节点。
我如何确保图表遵循节点中的顺序?
如果您设置 iterations = 0
,执行节点自动定位的算法基本上不会 运行 并将节点留在它们的初始位置...
nodes <- read.table(header = T, text = "
name
as
sdf
wer
xc
sd
er
")
links <- read.table(header = T, text = "
source target value
0 5 112
0 4 848
0 4 661
0 4 33
0 3 291
1 5 23
1 4 983
1 3 859
1 3 35
2 4 537
")
library(networkD3)
sankeyNetwork(Links = links, Nodes = nodes,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
fontSize= 12, nodeWidth = 30, iterations = 0)
我正在尝试使用 networkD3 库在 R 中构建桑基图。
我有以下数据
print(nodes1)
name
1 as
2 sdf
3 wer
4 xc
5 sd
6 er
print(links)
source target value
1 0 5 112
2 0 4 848
3 0 4 661
4 0 4 33
5 0 3 291
6 1 5 23
7 1 4 983
8 1 3 859
9 1 3 35
10 2 4 537
因此,当我尝试使用以下代码创建 sankeyNetwork 时
sankeyNetwork(Links = links1, Nodes = nodes1,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
fontSize= 12, nodeWidth = 30)
我得到以下结果。
但是,它没有按顺序打印节点。
在我的节点数据框中,"as" 是第一个节点,"sdf" 是第二个节点。但是,在图像中,我将 "as" 作为第一个节点,将 "wer" 作为第二个节点。
我如何确保图表遵循节点中的顺序?
如果您设置 iterations = 0
,执行节点自动定位的算法基本上不会 运行 并将节点留在它们的初始位置...
nodes <- read.table(header = T, text = "
name
as
sdf
wer
xc
sd
er
")
links <- read.table(header = T, text = "
source target value
0 5 112
0 4 848
0 4 661
0 4 33
0 3 291
1 5 23
1 4 983
1 3 859
1 3 35
2 4 537
")
library(networkD3)
sankeyNetwork(Links = links, Nodes = nodes,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
fontSize= 12, nodeWidth = 30, iterations = 0)