D3.js принудительно ориентирует граф, уменьшая пересечения ребер, заставляя ребра отталкиваться друг от друга
Итак, у меня уже есть страница, которая рисует ориентированный на силу график, как показано на рисункеВот.
И это прекрасно работает. Я использую JS изВот, с несколькими настройками, чтобы разложить узлы немного приятнее.
Это более или менее единственные различия:
d3.json("force.json", function(json) {
var force = d3.layout.force()
.gravity(0.1)
.charge(-2000)
.linkDistance(1)
.linkStrength(0.1)
.nodes(json.nodes)
.links(json.links)
.size([w, h])
.start();
Там, где уменьшение силы связи, кажется, делает ссылки более похожими на пружины, поэтому оно становится похожим наFruchterman & amp; Рейнгольд техника часто используется. Это работает достаточно хорошо, но только для довольно маленьких графиков. С большими графиками количество пересечений просто возрастает - как и следовало ожидать, но решение, на котором оно находится, обычно далеко от оптимального. Я не ищу способ получить оптимальное решение, я знаю, что это очень сложно. Я просто хотел бы иметь какое-то грубое дополнение, которое пытается разделить линии и узлы.
Is there a way to add a repulsion between in links, as well as between the nodes? Я не знаком с тем, как работает сила D3, и, похоже, я не могу найти ничего, что говорит о том, что это возможно ...