当我将link.source和link.target分配给从DB检索的整数值时,D3 svg图停止工作。如果我指定从0开始的索引图表工作正常,但是当我将link.source和.target分配给从db检索到的标识符值时,它会因上述错误而失败。
答案 0 :(得分:-2)
var edges = [];
json.Links.forEach(function(e) {
var sourceNode = json.Nodes.filter(function(n) {
return n.Id === e.Source;
})[0],
targetNode = json.Nodes.filter(function(n) {
return n.Id === e.Target;
})[0];
edges.push({
source: sourceNode,
target: targetNode,
value: e.Value
});
});
force
.nodes(json.Nodes)
.links(edges)
.start();
var link = svg.selectAll(".link")
.data(edges)