В js я ищу ориентированный на силу граф с перетаскиваемыми узлами - нажмите на узлы, чтобы открыть новую страницу - PullRequest
0 голосов
/ 22 августа 2011

Я пытаюсь найти пример кода, использующего библиотеку javascript для принудительно ориентированного графа, в котором пользователь может перемещать любой узел вокруг (и граф реагирует динамически), - но тогда каждый узел может быть кликабельным и открывать «детали узла». "страница (в другой вкладке).

Я просмотрел D3.js, arbor.js, jit (инструментарий javascript infoviz), springy. Все они выглядят великолепно и имеют демонстрации, которые близки к тому, что я хочу, но не совсем там.

Я не опытный программист js, я в основном занимаюсь серверными делами.

Я боюсь, что я мог бы попытаться изучить одну из этих библиотек, чтобы попытаться реализовать мой вариант использования, только чтобы обнаружить, что по какой-то причине он не будет работать. Например, один из них (D3) обсудил на своем форуме, что щелчок по узлу часто ошибочно принимается за перемещение узла, и, как представляется, быстрого обходного пути нет. В другом (arbor.js) на первой странице (помимо минимизированной) показано что-то близкое к тому, что я хочу, но подвижные узлы не активируются, а интерактивные узлы не являются подвижными.

FF или Chrome в порядке - мне не нужна поддержка IE.

Я также открыт для чего-то, основанного на Flash - до тех пор, пока мне не нужно ничего компилировать в Actionscript / Flash - что-то с помощью js / html API.

Спасибо.

1 Ответ

0 голосов
/ 22 августа 2011

Я думаю, что это довольно хороший список инструментов, которые у вас есть.Protovis?

Я подозреваю, что на самом деле не так уж много работы по сбору события щелчка с помощью любого инструмента на основе JS, но я не делал этого специально ни с одним из тех, о которых вы упомянули.

Пару лет назад я сделал проект-прототип , используя чистую реализацию Javascript .Все это просто узлы DOM, так что вы можете определенно захватывать клики по мере необходимости.Это хорошо, но так как код не поддерживается активно (насколько я мог найти), мне пришлось немало сделать, чтобы приспособить его к моим потребностям.Использование чего-либо с более свежим и активным развитием - хорошая идея.Я также узнал, что производительность будет проблемой, особенно в Firefox.Вы можете поиграть с моим прототипом и посмотреть, где он сломается - что он делает.Я думаю, что 100 узлов или около того - опасная точка.

Удачи!

...