Я только что собрал то, что вы, возможно, ищете: http://www.graphdracula.net
Это JavaScript с направленным макет графа, SVG, и вы даже можете перетаскивать узлы. По-прежнему нуждается в доработке, но его можно полностью использовать. Вы легко создаете узлы и ребра с помощью кода JavaScript следующим образом:
var g = new Graph();
g.addEdge("strawberry", "cherry");
g.addEdge("cherry", "apple");
g.addEdge("id34", "cherry");
Я использовал ранее упомянутую библиотеку Raphael JS (пример graffle) плюс некоторый код для алгоритма компоновки графа на основе силы, который я нашел в сети (все с открытым исходным кодом, лицензия MIT ). Если у вас есть замечания или вам нужна какая-то функция, я могу ее реализовать, просто спросите!
Возможно, вы захотите взглянуть и на другие проекты! Ниже приведены два мета-сравнения:
SocialCompare содержит обширный список библиотек, а строка «Узел / граница графа» отфильтрует библиотеки для визуализации графа.
DataVisualization.ch оценил множество библиотек, включая библиотеки узлов / графов. К сожалению, прямой ссылки нет, поэтому вам придется фильтровать по «графику»:
Вот список похожих проектов (некоторые уже упоминались здесь):
vis.js поддерживает множество типов сетевых / граничных графиков, а также временных шкал и 2D / 3D диаграмм.Автоматическая компоновка, автокластеризация, упругий физический движок, удобство для мобильных устройств, навигация с клавиатуры, иерархическая компоновка, анимация и т. Д. MIT по лицензии и разработан голландской фирмой, специализирующейся на исследованиях самоорганизующихся сетей.
Cytoscape.js - интерактивный анализ и визуализация графов с поддержкой мобильных устройств в соответствии с соглашениями jQuery. Финансируется за счет грантов NIH и разработан @maxkfranz (см. его ответ ниже ) с помощью нескольких университетов и других организаций.
Набор инструментов JavaScript InfoVis - Jit, интерактивная многоцелевая среда для рисования и компоновки графиков. См., Например, Гиперболическое дерево . Создан архитектором Twitter dataviz Николасом Гарсией Бельмонте и , купленным Sencha в 2010 году.
D3.js Мощная многоцелевая библиотека визуализации JS, преемница Protovis. См. Пример сило-направленного графа и другие примеры графов в галерее .
Библиотека визуализации JS Plotly использует D3.js с привязками JS, Python, R и MATLAB. См. Пример nexworkx в IPython здесь , пример взаимодействия с человеком здесь и JS Embed API .
sigma.js Легкая, но мощная библиотека для рисования графиков
jsPlumb Подключаемый модуль jQuery для создания интерактивных связанных графов
Springy - алгоритм компоновки графов с принудительной ориентацией
Обработка.js Javascript-порт библиотеки Processing от Джона Ресига
JS Graph It - блоки перетаскивания, соединенные прямыми линиями. Минимальная автоматическая раскладка линий.
RaphaelJS's Graffle - пример интерактивного графа универсальной многоцелевой библиотеки векторной графики. RaphaelJS не может размещать узлы автоматически; для этого вам понадобится другая библиотека.
JointJS Core - Библиотека построения диаграмм с открытым исходным кодом Дэвида Дурмана под лицензией MPL. Его можно использовать для создания статических диаграмм или полностью интерактивных инструментов построения диаграмм и построителей приложений. Работает в браузерах, поддерживающих SVG. Алгоритмы компоновки не включены в основной пакет
mxGraph Ранее коммерческая библиотека построения диаграмм HTML 5, теперь доступная в Apache v2.0. mxGraph - это базовая библиотека, используемая в draw.io .
GoJS Интерактивная библиотека для рисования и компоновки графиков
yFiles для HTML Коммерческая библиотека для рисования и компоновки графов
KeyLines Коммерческий набор инструментов для визуализации сети JS
ZoomCharts Коммерческая многоцелевая библиотека визуализации
Syncfusion JavaScript Diagram Коммерческая библиотека диаграмм для рисования и визуализации.
Cytoscape Web Встраиваемое средство просмотра сети JS (новых функций не планируется; его заменил Cytoscape.js)
Средство визуализации Canviz JS для графов Graphviz. Заброшен в сентябре 2013 года.
arbor.js Сложное построение графиков с хорошей физикой и приятным глазу. Заброшен в мае 2012 года.Существует несколько полуобслуживаемых вилок.
jssvggraph «Простейший возможный алгоритм компоновки ориентированного графа, реализованный в виде библиотеки Javascript, использующей объекты SVG». Брошено в 2012 году.
jsdot Клиентское приложение для рисования графиков. Брошен в 2011 году .
Protovis Графический набор инструментов для визуализации (JavaScript). Заменен на d3.
Moo Wheel Интерактивное представление JS для соединений и отношений (2008)
JSViz Сценарий визуализации графиков 2007 года
dagre Макет графика для JavaScript
JsVIS был довольно хорошим, но медленным с большими графиками и отказался с 2007.
предварительный предохранитель является рядом программных инструментов для создания богатой интерактивной визуализации данных в Java. вспышка является библиотекой ActionScript для создания визуализации, которая работает в Adobe Flash Player, от которого отказываются с 2012.
Как упоминал гуруз, JIT имеет несколько прекрасных макетов графов / деревьев, включая довольно привлекательные визуализации RGraph и HyperTree.
Кроме того, я только что разместил на github очень простую реализацию на основе SVG (без зависимостей, ~ 125 LOC), которая должна работать достаточно хорошо для небольших графиков, отображаемых в современных браузерах.