2017-05-02 17 views
1

d3.js v4では、d3を使用して親の値が子の合計よりも大きい可能性があります。また、hierarchy()。sum()関数はノードとその子の合計である値を返します。d3.js v4親の値が子の合計(node.sum)より大きいパーティション

しかし、私は唯一の

が、それは可能です、その値だけ(ではない、その値の合計にその子の合計)が含まれ、それぞれの長方形を描きたいですか?サイズ50000(= 66000ません50000 + 10000 + 2000 + 3000 + 1000)

でトップレベルの、私だけのボックスのためので

{"name":"Top Level", "size": "50000" ,"children":[{"name":"Level 2: A","size":"10000","children":[{"name":"Son of A","size":"2000"},{"name":"Daughter of A","size":"3000"}]},{"name":"Level 2: B","size":"1000"}]}

:たとえば、これはJSONファイル

です

答えて

0

手動で階層オブジェクトの値をオーバーライドして、スキップすることができsum機能

var rawData = { 
    "name": "Top Level", 
    "size": "50000", 
    "children": [ 
    { 
     "name": "Level 2: A", 
     "size": "10000", 
     "children": [ 
     { 
      "name": "Son of A", 
      "size": "2000" 
     }, 
     { 
      "name": "Daughter of A", 
      "size": "3000" 
     } 
     ] 
    }, 
    { 
     "name": "Level 2: B", 
     "size": "1000" 
    } 
    ] 
} 

var root = d3.hierarchy(rawData); //apply hierarchy 


root.each(d=> d.value = +d.data.size); //override values 
関連する問題