2

Mike Bostock のようなバブル チャートを作成しようとしています。

ここに画像の説明を入力

ただし、ノードをランダムに生成するのではなく、json 用に生成したいと考えています。有効な JSON である変数があるとします。この変数から、強制レイアウトに使用できる変数datasetを生成するにはどうすればよいですか。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}, ... ]} 

sizeそして、各円の半径をJSON 配列内の各オブジェクトの半径にしたいと考えています。

4

1 に答える 1

0

nodesそれぞれがradiuscolorcxおよびcy属性を持つオブジェクトの配列です。必要なことは、データからそのような配列を作成することだけです。これを正確に行う方法は、データによって異なります。すべての属性を作成する必要はないことに注意してください。たとえば、すべてのノードが同じ色を持つことができる場合、対応する属性を追加する必要はありません (ただし、後で実際に色を設定するコードを変更する必要もあります)。の上)。

于 2012-07-22T11:51:37.617 に答える