Я работаю с D3 для создания иерархической модели некоторых данных.Поворот D3 SVG для выравнивания до определенного угла
То, что я хочу быть в состоянии сделать, это нажать на краевой узел и он выстраиваться с красной линией.
То, что я пытался до сих пор пытаюсь вычислить разницу угла между (х, у) расположения в центре, и (х, у) местоположения краевого узла. Это не дало мне правильных результатов.
Я думаю, что правильный путь к этому, чтобы получить угол узла (по отношению к середине). Хотя у меня много неприятностей, так как я не могу найти, какое свойство хранит эту информацию. Иерархия края базируется этот:
http://bl.ocks.org/mbostock/7607999
текст генерируется с помощью следующего фрагмента кода:
node = node
.data(nodes.filter(function(n) { return !n.children; }))
.enter().append("text")
.attr("class", "node")
.attr("dy", ".31em")
.attr("transform", function(d) { return "rotate(" + (d.x - 90) + ")translate(" + (d.y + 8) + ",0)" + (d.x < 180 ? "" : "rotate(180)"); })
.style("text-anchor", function(d) { return d.x < 180 ? "start" : "end"; })
.text(function(d) { return d.key; })
.on("mouseover", mouseovered)
.on("mouseout", mouseouted);
Любая информация будет очень полезна. Благодаря