我需要设置一些圆的半径,我有以下数据,由链接和节点组成。我需要将圆(节点)的半径设置为连接到节点的链接的总和var data = { "nodes": [ { "id": "s1", "val": 12 }, { "id": "s2", "val": 12 }, { "id": "s3", "val": 12 }, { "id": "s4", "val": 12 }, { "id": "s5", "val": 12 }, { "id": "s6", "val": 12 } ], "Links": [ { "n1": "s1", "n2": "s2", "amount": 10 }, { "n1": "s2", "n2": "s3", "amount": 10 }, { "n1": "s2", "n2": "s4", "amount": 10 }, { "n1": "s2", "n2": "s6", "amount": 10 }, { "n1": "s3", "n2": "s1", "amount": 10 }, { "n1": "s4", "n2": "s5", "amount": 10 }, { "n1": "s5", "n2": "s6", "amount": 10 } ]};即(我希望节点此时处于上下文中),我在下面编写了一些伪代码val1 = 0val2 = 0 for i to len.links if (links.node1 = nodes.id) val1 = val1 + links.amount else if (links.node02 = nodes.id) val2 = val2 + links.amountnextsum = val1 + val2下面的代码将圆圈放在屏幕上,我尝试了各种方法,但结果是我所说的死亡白屏 var w = 1200; var h = 800; var svg = d3.select("body").append("svg").attr("width",w).attr("height", h); var lines = svg.attr("class", "line") d3.json("data.json", function(error, data) { console.log(data); var circles = svg.selectAll("foo") .data(data.nodes) .enter() .append("circle") .attr("cx", function(d) { return d.x; }) .attr("cy", function(d) { return d.y; }) .attr("r", 20); // <- i want to put this calculation here我是 JS 新手,不知道如何将其翻译成 Javascript
添加回答
举报
0/150
提交
取消