2016-04-30 24 views
0

ここにhttp://bl.ocks.org/mbostock/4063269直径= 960私のノードのサイズに応じてこの直径を動的にする。ノードの数が増減するにつれてサイズの増減を変更したい。接近することはできません。d3.js内のバブルチャートの動的直径

+1

あなたが聞いたことがわからない –

+0

私はノードの数に応じて直径のサイズを変えたいと思っています。私は今、私が20ノードを持っていると仮定しています。 10(ノードのサイズと同じにしたい)ので、私のサイズ= 200の20ノードが正しい!今、私のjsonが30ノードの場合、私のサイズは300 * 300 = 300となります。 20ノードは30ノードとは異なります。ここでは、なぜノードの数が増えるにつれて半径が増えるのか理解できません。半径が20または30か、それ以前にある場合、半径はすべてのノードで修正する必要があります(単一ノードの半径を修正することを意味します) – user1872177

+0

@ user1872177ノードの数によってノードのサイズがどのように変化するかの例を示します。 jsfiddleやcodepenでそれをホストするようなものです。 – paradite

答えて

0

私があなたの質問を正しく理解していれば、ビジュアライゼーションの幅と高さ全体をノードの数/サイズに基づいて動的に変更したいと思っています。

d3.layout.pack()ではこれができません。ただし、各ノードの半径が実際に動的にレイアウトのsizeに基づいて計算されていることを知りたいかもしれません:

pack.radius([半径])

半径が指定されている場合は、設定します各ノードの半径を計算するための半径関数。デフォルトではradiusがnullの場合、半径はレイアウト値に合わせてノード値から自動的に決定されます。 radiusが指定されていない場合は、現在の半径関数を返します。デフォルトはnullです。半径は、一様な円形サイズの定数として指定することもできます。したがって

https://github.com/mbostock/d3/wiki/Pack-Layout#radius

# pack.radius([radius])を指定せずに、デフォルトでは、固定サイズのレイアウトを考えると、ノードは常にレイアウトに適合します。

+0

ありがとう、私のポイントを理解しています。私は各ノードのサイズを固定しています。しかし、問題は、ノードの数を増やすとノードの半径が増えることです。私は自分のノードを数えて、20のノードのような10のような定数を乗算しています。私の直径のサイズは200、30のノードの直径は300です。しかし、20ノードの単一のノードの半径はそれ以下です30ノードの単一ノードの半径。私はノードの数を増やすと、各ノードの半径は私の問題です。 – user1872177

関連する問題