У меня были схожие требования, и я тестировал около четырех библиотек, включая d3 и infoVis/JIT.
Я использовал силовую схему как в d3, так и в infoVis. Оба они довольно близки, но я решил выбрать infoVis/JIT, потому что у меня были некоторые проблемы в d3, решения которых были непростыми.
1: Когда у вас есть график со многими узлами в d3, график будет продолжать двигаться/анимацию в течение довольно длительного времени. Я обнаружил, что это связано с тем, что d3-график оживляет по одному тику. Я нашел некоторые решения здесь и на форумах, но решить эту проблему было непросто, и они не сработали для меня.
2: После визуализации графика, если вы попытаетесь перетащить узел, весь график будет перемещаться и анимироваться. В то время как мое требование состояло в том, чтобы иметь возможность перетаскивать и размещать отдельные узлы независимо друг от друга, сохраняя график таким, какой он есть, чтобы пользователь мог повторно упорядочить узлы, если захочет. Я не мог найти простого решения для этого в d3.
Обе эти проблемы были решены в infoVis/JIT.
@ «Требуется возможность отображать только небольшую часть сети, но позволяет в интерактивном режиме развернуть определенный узел/часть сети». Я реализовал эту функцию, используя infoVis.
Если вы должны выбрать между двумя, которые вы бы предпочли и почему? – Fortepianissimo
JIT и D3 - хорошие библиотеки, вы не могли решить, не зная своего полного контекста. На данный момент D3 получает несколько больше возможностей, я чувствую, что в настоящее время это используется больше людей. Но это ощущение кишки, у меня нет твердых фактов. – David