2017-01-24 4 views
1

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); 

ответ

1

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

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

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

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

Это решает ее. Благодаря! – MaYa

Смежные вопросы