我正在尝试创建其半径取决于链接数组中的数量值的节点。数据结构如下图所示:
{ "nodes": [{"id": "site01", "x": 317.5, "y": 282.5},
{"id": "site02", "x": 112, "y": 47},
{"id": "site03", "x": 69.5,"y": 287},
{"id": "site04", "x": 424.5, "y": 99.5},
],
"links": [
{"node01": "site01", "node02": "site04", "amount": 10},
{"node01": "site03", "node02": "site02", "amount": 120},
{"node01": "site01", "node02": "site03", "amount": 50},
{"node01": "site04", "node02": "site02", "amount": 80}]
}
半径必须与总量成比例。例如,site01的半径必须为60,而site02的半径必须为200。我尝试了一些代码,但似乎不起作用。
var nodeRadius = {};
data.links.forEach(function (n){
nodeRadius[n.id] = n;
});
nodes.attr("r", function (d) {return nodeRadius[d.node01].amount;})
请提出一个有效的代码。