javascript - D3 树形图节点顺序

标签 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 .

我真的很感激。

最佳答案

您可以使用树形图布局的 .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 .

关于javascript - D3 树形图节点顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20720679/

相关文章:

html - 更改朝阳可视化箭头框的大小

javascript - 如何在 d3.zoom (d3v4/v5) 中捕获捏拉手势事件

javascript - 如何仅将替代深度值分配给 d3js 中的子 Node ?

javascript - D3 + 谷歌地图 + 多点路径

javascript - 在 NetSuite 中将直运 PO 添加到现有销售订单

javascript - 如何在 Chrome 中访问 iframe 父页面的功能?

javascript - 如何使用youtube api(v3)获取视频url

javascript - ES6 类和 module.exports

javascript - Barba.js (v2.9.7) 重新加载当前页面而不是下一页

javascript - D3.js 设置初始缩放级别