在D3中的双层分区中进行缩放

时间:2013-10-08 13:32:49

标签: javascript d3.js partition sunburst-diagram

我试图让D3中的Bilevel Partition以 log 比例工作。

但是,它似乎没有正常工作。

我已经为角度指定了对数刻度:

    var angle1 = d3.scale.log()
        .base(2.0)
        .domain([0, 2 * Math.PI])
        .range([root.x, root.x + root.dx]);

但是,在缩放时重新计算角度时,这仅适用

我尝试修改原始分区比例,但没有成功。

任何提示都表示赞赏。请参阅以下链接中的示例代码。

http://bl.ocks.org/mbostock/5944371

enter image description here

1 个答案:

答案 0 :(得分:0)

D3中的分区布局总结了叶节点的值,以便计算带子节点的元素的布局。根据布局的定义,它应该是这样的。因此,在调用layout.nodes()时仅考虑叶节点值。因此,只能缩放叶节点(例如,作为log(count + 1))。但是,非叶节点将表示基础值的总和。所有节点以对数方式缩放的唯一选择是编写一个新布局,该布局会考虑每个节点的值,而不是总结子节点的值。