Ответ 1
Я только что собрал то, что вы можете искать: 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 имеет обширный список библиотек, а строка "Node/edge graph" будет фильтровать для визуализации графа.
-
DataVisualization.ch оценил многие библиотеки, в том числе нод/граф. К сожалению, прямой ссылки нет, поэтому вам придется отфильтровать по "графику":
Вот список похожих проектов (некоторые уже упоминались здесь):
Чистые библиотеки JavaScript
-
vis.js поддерживает множество типов сетевых/граничных графиков, а также временные шкалы и 2D/3D-диаграммы. Автоматическая разметка, автоматическая кластеризация, упругий физический движок, дружественная к мобильным устройствам, клавиатурная навигация, иерархическая разметка, анимация и т.д. MIT лицензирована и разработана голландской фирмой, специализирующейся на исследованиях самоорганизующихся сетей.
-
Cytoscape.js - интерактивный анализ и визуализация графиков с поддержкой мобильных устройств в соответствии с соглашениями jQuery. Финансируется за счет грантов NIH и разрабатывается @maxkfranz (см. Его ответ ниже) с помощью нескольких университетов и других организаций.
-
JavaScript InfoVis Toolkit - Jit, интерактивный, многоцелевой фреймворк для рисования графиков и макетов. Смотрите, например, Гиперболическое Дерево. Построенный в Твиттере датавизом архитектором Николасом Гарсия Бельмонте и купленный Сенчей в 2010 году.
-
D3.js Мощная многоцелевая библиотека визуализации JS, наследница Protovis. Смотрите пример принудительно ориентированного графа и другие примеры графа в галерее.
-
Библиотека визуализации JS Plotly использует D3.js с привязками JS, Python, R и MATLAB. Смотрите пример nexworkx в IPython здесь, пример взаимодействия с человеком здесь и API JS Embed.
-
sigma.js Легкая, но мощная библиотека для рисования графиков
-
jsPlumb jQuery плагин для создания интерактивных связанных графов
-
Springy - алгоритм верстки графов
-
Processing.js Javascript порт библиотеки Processing Джон Резиг
-
JS Graph It - перетаскивать прямоугольники, соединенные прямыми линиями. Минимальное автоматическое расположение линий.
-
RaphaelJS Graffle - пример интерактивного графика универсальной многоцелевой библиотеки векторного рисования. RaphaelJS не может автоматически размещать узлы; вам понадобится еще одна библиотека для этого.
-
JointJS Core - библиотека диаграмм с открытым исходным кодом, разработанная Дэвидом Дурманом. Его можно использовать для создания статических диаграмм или полностью интерактивных инструментов создания диаграмм и приложений. Работает в браузерах, поддерживающих SVG. Алгоритмы макета, не входящие в основной пакет
-
mxGraph Ранее коммерческая библиотека диаграмм HTML 5, теперь доступная под Apache v2.0. mxGraph - это базовая библиотека, используемая в draw.io.
Коммерческие библиотеки
-
GoJS Интерактивная библиотека для рисования графиков и макетов
-
yFiles for HTML Коммерческая библиотека для создания графиков и макетов
-
KeyLines Commercial JS инструментарий для визуализации сети
-
ZoomCharts Коммерческая многоцелевая библиотека визуализации
-
Syncfusion JavaScript Diagram Коммерческая библиотека диаграмм для рисования и визуализации.
Заброшенные библиотеки
-
Cytoscape Web Embeddable JS Network Viewer (новые функции не запланированы; сменил Cytoscape.js)
-
Canviz JS рендерер для графов Graphviz. Заброшен в сентябре 2013 года.
-
arbor.js Сложные графики с приятной физикой и приятным глазом. Брошено в мае 2012 года. Существует несколько полуобслуживаемых вилок.
-
jssvggraph "Самый простой из возможных алгоритмов силового ориентированного графа, реализованный в виде библиотеки Javascript, использующей объекты SVG". Заброшен в 2012 году.
-
jsdot Приложение для рисования графа на стороне клиента. Заброшен в 2011 году.
-
Графический инструментарий Protovis для визуализации (JavaScript). Заменено на d3.
-
Представление Moo Wheel Interactive JS для связей и отношений (2008)
-
JSViz скрипт эпохи визуализации 2007 года
Не-JavaScript библиотеки
-
Графвиз Сложный язык визуализации графиков
- Graphviz был скомпилирован для Javascript с использованием Emscripten здесь с интерактивной демонстрацией онлайн здесь
-
Flare Красивый и мощный Flash основанный рисунок
-
NodeBox Python Graph Визуализация