2016-04-30 80 views
0

這裏http://bl.ocks.org/mbostock/4063269直徑= 960.how動態根據我的節點size.want改變大小增減隨着節點增加和decrease.I數目該直徑嘗試了不同的方法,但不能得到。動態直徑在氣泡圖表中d3.js

+1

不清楚你問什麼 –

+0

我想根據節點的數量來改變我的直徑大小,我現在正在做的是,我從我的JSON計算節點,假設我有20個節點。如果我的json有30個節點,那麼我的大小將是30 * 10 = 300,這是300正確的。但是,對於20個節點,我的大小= 200 20與30個節點不同。在這裏我不明白爲什麼我的半徑隨着節點數量的增加而增加。如果所有節點的半徑應該是20或30或者什麼都有,那麼半徑應該是固定的(意思是我想修復單個節點的半徑) – user1872177

+0

@ user1872177 can you舉例說明節點的大小如何根據節點數量而變化?像在jsfiddle或codepen上託管它。 – paradite

回答

0

如果我正確理解你的問題,你想整個圖表的寬度和高度,基於數/大小節點的動態變化。

這是不可能的d3.layout.pack()。但是,你可能想知道每個節點的半徑實際上是動態計算基礎上的佈局size

pack.radius([半徑])

如果指定半徑,設置半徑函數來計算每個節點的半徑。如果radius爲null,則默認情況下,半徑由節點值自動確定,縮放以適應佈局大小。如果未指定radius,則返回當前的radius函數,該函數默認爲null。半徑也可以指定爲統一圓大小的常數。

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

因此,由下式給出一個固定大小的默認佈局不指定# pack.radius([radius]),該節點將總是適合的佈局。

+0

非常感謝你,你明白我的觀點。我對每個節點都有固定的大小。但是問題在於增加節點半徑的節點數量增加。我正在數我的節點,然後乘以一個常數,就像10個一樣。對於20個節點,我的直徑大小是200,對於30個節點,我的直徑大小是300。但是,20個節點中單個節點的半徑小於30個節點中的單個節點的半徑。當我增加節點數時,每個節點的半徑增加,這是我的問題。我想要相同的半徑大小 – user1872177