【发布时间】:2022-10-17 10:57:09
【问题描述】:
使用networkD3::sankeyNetwork()创建桑基图的示例代码...
library("networkD3")
a = read.csv(header = TRUE, text = "
date,Data Center,Customer,companyID,source,target,value
")
node_names <- unique(c(as.character(a$source), as.character(a$target)))
nodes <- data.frame(name = node_names)
links <- data.frame(source = match(a$source, node_names) - 1,
target = match(a$target, node_names) - 1,
value = a$value)
p <- sankeyNetwork(Links = links, Nodes = nodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
sinksRight = FALSE)
onRender(
p,
function(el,x){
// select all our node text
var node_text = d3.select(el)
.selectAll(".node text")
.attr("x", 6 + x.options.nodeWidth)
.attr("text-anchor", "start");
}
)
我想在节点标签旁边显示总数(每个节点的 sum(value) 的结果)。我在 StackOverflow 上找到了这篇文章,并尝试根据帖子中的答案模拟一些 JavaScript 代码,但无法使其工作。 Place text values to right of sankey diagram
【问题讨论】:
标签: javascript r d3.js htmlwidgets networkd3