D3:无法获得未定义或空引用的属性“权重”

时间:2016-07-28 09:07:55

标签: javascript angularjs d3.js svg

当我将link.source和link.target分配给从DB检索的整数值时,D3 svg图停止工作。如果我指定从0开始的索引图表工作正常,但是当我将link.source和.target分配给从db检索到的标识符值时,它会因上述错误而失败。

1 个答案:

答案 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)