我正在尝试制作类似于Mike Bostock 的气泡图:

但是,我希望为 json 生成节点,而不是随机生成节点。假设我有dataset一个有效的 JSON 变量,我如何nodes从中生成一个可用于强制布局的变量。
Mike 的实现(对于随机生成的圆圈)是:
var nodes = d3.range(n).map(function() {
var i = Math.floor(Math.random() * m),
v = (i + 1) / m * -Math.log(Math.random());
return {
radius: radius(v),
color: color(i),
cx: x(i),
cy: height / 2
};
});
假设我的datasetJSON 是这样的:
{"nodes":[{"name": "node_name", "size": 18}, ... ]}
我希望每个圆的半径是sizeJSON 数组中每个对象的半径。