Как предотвратить сортировку дочерних узлов по умолчанию в d3.layout.partition?

По умолчанию d3.layout.partition автоматически сортирует дочерние узлы в порядке убывания. Я использую график сосульки, чтобы показать двоичное дерево, в котором я хочу сохранить исходную структуру дерева без какого-либо переупорядочения узлов. Как мне создать массив узлов из моего дерева без сортировки? Мой код устанавливает узлы следующим образом:

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

person MaYa    schedule 24.01.2017    source источник


Ответы (1)


Согласно API, при использовании partition.sort([comparator]):

Нулевой компаратор отключает сортировку и использует порядок обхода дерева.

Таким образом, должно быть:

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