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, и, похоже, я не могу найти ничего, что говорит о том, что это возможно ...

Ответы на вопрос(4)

Ваш ответ на вопрос