【问题标题】:D3 : Unable to get property 'weight' of undefined or null referenceD3:无法获取未定义或空引用的属性“权重”
【发布时间】:2016-12-02 13:52:06
【问题描述】:

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

【问题讨论】:

标签: javascript angularjs d3.js svg


【解决方案1】:
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)

【讨论】:

  • 真的吗?这不应该是一个答案,是吗?
  • 虽然这段代码 sn-p 可以解决问题,including an explanation 确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-01
  • 2020-04-28
  • 2016-08-16
  • 2017-05-18
  • 1970-01-01
  • 2014-08-29
  • 1970-01-01
相关资源
最近更新 更多