2
我使用R包d3Network生成D3.js強制佈局圖。 d3Network產生的代碼給了我一個「Uncaught TypeError:無法讀取未定義」錯誤的屬性「權重」。有誰知道可能是什麼原因造成的?JavaScript錯誤「Uncaught TypeError:無法調用未定義的方法」推「'D3.js
我使用的例子在(但具有不同的數據集):
http://bl.ocks.org/mbostock/4062045
http://christophergandrud.github.io/d3Network/(d3ForceDirected部)
該構建圖中的代碼是:
var force = d3.layout.force()
.nodes(d3.values(nodes))
.links(links)
.size([width, height])
.linkDistance(50)
.charge(-120)
.on("tick", tick)
.start();
鏈接:
var link = svg.selectAll(".link")
.data(force.links())
.enter().append("line")
.attr("class", "link")
.style("stroke-width", function(d) { return Math.sqrt(d.value); });
的數據是:
var links = [ { "source" : 1, "target" : 11, "value" : 2,},
{ "source" : 1, "target" : 21, "value" : 2 },
{ "source" : 1, "target" : 20, "value" : 1 },
{ "source" : 1, "target" : 19, "value" : 2 },
{ "source" : 2, "target" : 16, "value" : 1 },
{ "source" : 2, "target" : 14, "value" : 1 },
{ "source" : 2, "target" : 13, "value" : 1 },
{ "source" : 2, "target" : 15, "value" : 1 },
{ "source" : 2, "target" : 18, "value" : 1 },
{ "source" : 3, "target" : 14, "value" : 1 },
{ "source" : 3, "target" : 17, "value" : 1 },
{ "source" : 3, "target" : 21, "value" : 1 },
{ "source" : 3, "target" : 19, "value" : 1 },
{ "source" : 5, "target" : 13, "value" : 1 },
{ "source" : 5, "target" : 12, "value" : 1 },
{ "source" : 5, "target" : 10, "value" : 1 },
{ "source" : 5, "target" : 19, "value" : 1 },
{ "source" : 5, "target" : 22, "value" : 1 },
{ "source" : 6, "target" : 21, "value" : 1 },
{ "source" : 6, "target" : 20, "value" : 1 },
{ "source" : 7, "target" : 11, "value" : 1 },
{ "source" : 7, "target" : 19, "value" : 1 },
{ "source" : 8, "target" : 15, "value" : 1 },
{ "source" : 9, "target" : 17, "value" : 1 },
{ "source" : 9, "target" : 22, "value" : 1 } ] ;
var nodes = [{ "name" : "c6_Sports", "group" : 1 },
{ "name" : "c8_Talk", "group" : 1 },
{ "name" : "c10_TV", "group" : 1 },
{ "name" : "c3_Movies", "group" : 1 },
{ "name" : "c9_Together", "group" : 1 },
{ "name" : "c2_Games", "group" : 1 },
{ "name" : "c1_ConsoleGames", "group" : 1 },
{ "name" : "c5_Outside", "group" : 1 },
{ "name" : "c4_Music", "group" : 1 },
{ "name" : "Joe", "group" : 1 },
{ "name" : "Fiona", "group" : 1 },
{ "name" : "Jill", "group" : 1 },
{ "name" : "Bob", "group" : 1 },
{ "name" : "Bertha", "group" : 1 },
{ "name" : "Jimmy", "group" : 1 },
{ "name" : "Amanda", "group" : 1 },
{ "name" : "Dmitry", "group" : 1 },
{ "name" : "Scott", "group" : 1 },
{ "name" : "Patricia", "group" : 1 },
{ "name" : "Mike", "group" : 1 },
{ "name" : "Lois", "group" : 1 },
{ "name" : "Tim", "group" : 1 } ] ;
看起來在某處存在錯誤的錯誤。 「links」中的「source」和「target」中的數字應該從0開始。 –
@LarsKotthoff,謝謝。這很可能是因爲R從1開始計數,世界上其他所有事物都以0開始計數。我也會檢查這個。 – RedRaven
我使用我的Force Directed Graph模板複製了您的數據。 http://vida.io/documents/QG8LdCQEJesi2scQC。數據是好的。這可能是tick()函數中的一個問題。檢查line.attr(「d」,...)計算。 –