问题描述
我正在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"),count = c(10,10,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中的sankey生成器函数的方法,在这种情况下,用JavaScript自己创建sankey而不是使用networkD3
更有意义