我正在使用R包d3Network来生成D3.js强制布局图。d3Network生成的代码给我一个“未捕获的TypeError:无法读取未定义的属性'weight'的错误”。有谁知道这可能是什么原因?
我正在使用示例(但具有一组不同的数据):
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
是nodes
数组的索引,应从0开始。您的数字从1开始,因此最高的数字不存在,并且会出现此错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句