2016-07-28 22 views
-2

D3 svgは、DBから取得した整数値にlink.sourceおよびlink.targetを割り当てるとグラフが停止します。 0から始まるインデックスを割り当てると、うまく動作しますが、link.sourceと.targetにdbから取得した識別子の値を割り当てると、上記のエラーで失敗します。D3:未定義またはnull参照のプロパティ 'weight'を取得できません

+4

ここで[mcve]が必要になると思います。 –

答えて

-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) 
+2

本当ですか?これは答えではないはずですか? – altocumulus

+1

このコードスニペットは問題を解決するかもしれませんが、[説明を含む](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 –

関連する問題