Итак, у меня есть страница, которая рисует диаграмму направленности силы, например, показанную здесь здесь.
И это прекрасно работает. Я использую 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 и Reingold. Это работает достаточно хорошо, но только для довольно небольших графиков. С большими графиками количество переходов просто растет - как и следовало ожидать, но решение, на которое он приземляется, обычно далек от оптимального. Я не ищу способ получить оптимальное решение, я знаю, что это очень сложно. Я просто хотел бы, чтобы у него было грубое дополнение, которое пытается закрепить линии друг от друга, а также узлы.
Есть ли способ добавить отталкивание между ссылками, а также между узлами? Я не знаком с тем, как работает сила D3, и я не могу найти ничего что это возможно...
