D3树形图节点顺序

时间:2013-12-21 15:43:41

标签: javascript d3.js

我是D3新手,我构建了我的第一个树形图。

我试图找出从左到右依次从上到下而不是从右到左+从下到上排序节点。订单基于每个节点的大小值。

现在,它看起来像

size 20  |  size 100
size 50  |
size 70  |  size 200

但我想要

size 200  | size 70
          | size 50
size 100  | size 20

这是完整的JSfiddle

我提前感激。

1 个答案:

答案 0 :(得分:5)

您可以使用树形图布局的.sort function来实现此目的。默认排序是:

.sort(function(a,b) {
    return b.value - a.value;
})

将此更改为反向

.sort(function(a,b) {
    return a.value - b.value;
})

也会改变整体布局,所以为了得到你想要的,你也需要调整大小。

var treemap = d3.layout.treemap()
.size([width/1.5, height])
.sticky(true)
.sort(function(a,b) {
    return a.value - b.value;
})
.value(function(d) { return d.size; });

完整示例here