【发布时间】:2020-08-12 16:55:25
【问题描述】:
我正在使用 R 中的 networkd3 包来构建 Sankey 网络。我尝试查看其他问题,但找不到相关问题。默认情况下,节点在视图窗口的顶部垂直对齐,如下所示:
如果可能的话,我想在底部自动对齐它们(避免点击和拖动节点),像这样:
networkD3::sankeyNetwork 函数似乎没有任何选项可以这样做,我想知道htmlwidgets::onRender 中是否有可用的 JS 选项。任何帮助将不胜感激!
生成上图第一张图的代码:
library(networkD3)
## Create links dataframe
links <- data.frame(
from = c("A1", "A2", "A3", "A4", "A5"),
to = c("B", "B", "B", "B", "B"),
count = c(10, 10, 5, 5, 10)
)
## Create node dataframe
nodes <- data.frame(
name = unique(
c(
as.character(links$from),
as.character(links$to)
)
)
)
## Add node indices to link data (zero-indexed)
links$source = match(links$from, nodes$name)-1
links$target = match(links$to, nodes$name)-1
## Render Sankey
sankeyNetwork(
Links = links,
Nodes = nodes,
Source = "source",
Target = "target",
Value = "count",
NodeID = "name",
iterations = 0,
sinksRight = FALSE
)
【问题讨论】:
标签: javascript r d3.js htmlwidgets networkd3