javascript - 如何防止 d3.layout.partition 中子节点的默认排序?

标签 javascript d3.js hierarchical-trees

d3.layout.partition 默认自动按降序对子节点进行排序。我使用冰柱图来显示二叉树,我想在其中保留原始树结构而不进行任何节点重新排序。如何从树中创建节点数组而不进行排序? 我的代码设置节点如下:

 var partition = d3.layout.partition()
.size([width, height])
.value(function(d) { return d.size; });
 var nodes= partition.nodes(root);

最佳答案

根据API,使用partition.sort([comparator])时:

A null comparator disables sorting and uses tree traversal order.

因此,它应该是:

var partition = d3.layout.partition()
    .size([width, height])
    .value(function(d) { return d.size; })
    .sort(null);

关于javascript - 如何防止 d3.layout.partition 中子节点的默认排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41826357/

相关文章:

javascript - NVD3 图表部分缺失网格线

javascript - 使用 D3js 更改按钮文本

php - 如何从 db 表、php 数组或 JSON 中获取分层 php 结构

javascript - 从谷歌驱动器中的文件读取数据,排序到电子表格中

javascript - 最大高度导致 javascript 停止运行

javascript - 是否可以使用 JavaScript 更改 document.readyState?

javascript - D3 为特定系列分配颜色

php - 使用一维数组中的数据通过算法创建多维数组

google-app-engine - 对非关系数据库的分层数据的建议?

Javascript:无法通过 Ajax 调用访问对象属性