Мне нужен граф визуализации сети (не диаграмма) в javascript для ввода json. Я также использовал JIT infovis toolkit rgraph и space tree, чтобы показать несколько уровней на графике. Но узлы обрушиваются на огромные данные. В rgraph края arroheads сливаются с узлами, в дереве пространства, если у ребенка 4 родителя, он слишком сильно помещает ребенка. поэтому он нестабилен для большого объема данных. Но я не мог найти графики, похожие на формат ввода infovis json. Пожалуйста, предложите мне альтернативу или решения для решения infovis space tree и rgraph. Спасибо заранее
Визуализация графического отображения сети Java
Ответ 1
Также проверьте D3, "библиотеку JavaScript для управления документами на основе данных" и sigma.js, "легкая библиотека JavaScript с открытым исходным кодом для рисования графиков, используя элемент холста HTML".
Ответ 2
Насколько мне известно, существует несколько проектов js с открытым исходным кодом для работы с визуализацией графиков.
- JIT, который вы используете.
- arborjs
- protovis из Стэнфорда. Кажется здоровым, но он больше не находится под активным развитие.
Честно говоря, я никогда не использовал их в своем проекте. Вы можете попробовать их сами.
Ответ 3
Оформить заказ netjsongraph.js, простая библиотека javascript, основанная на D3, которая использует NetJSON, который специально разработан для сетевого программного обеспечения.
Смотрите демонстрационный пример netjsongraph.
Надеюсь, это поможет.
Ответ 4
Возможно, вы захотите проверить эту интерактивную библиотеку графиков HTMl5, предоставленную Лабораторией программного обеспечения визуализации данных:
http://datavisualizationsoftwarelab.com/
Этот SDK позволяет создавать широкий диапазон диаграмм:
- Временные диаграммы
- Сетевые диаграммы
- Круговые диаграммы
- Скоро появятся Geo-диаграммы, диаграммы фаз и диаграммы XML.
Графы представляют собой чистый HTML5, не зависят от других библиотек, поэтому легко интегрируются с любой инфраструктурой JS (например, jQuery). Использует Canvas для рендеринга, имеет полную поддержку multi-touch для навигации, взаимодействия и исследования данных.
Пример сетевой диаграммы:
Графики поставляются с обширными API и настройками, поэтому вы можете контролировать каждый аспект диаграмм.
Ответ 5
Что касается меня - я предпочитаю vis.js, потому что:
- Сгенерированная сеть является эластичной - автоматически адаптируется к переформатированию сети пользователя.
- Некоторые полезные функции пользовательского интерфейса интегрированы - например, масштабирование/уменьшение
- Сеть очень настраиваемая, - края цветов, ширина и т.д.
- При определении сетевых узлов - нет необходимости указывать координаты X, Y для
узлы.
(Я видел несколько библиотек, где вам нужно определить координаты X, Y для узлы, и это действительно отстой) - Не говоря уже о том, что это очень простое использование этого libarary, см. ниже:
Использование:
// create an array with nodes
var nodes = new vis.DataSet([
{id: 1, label: 'Node 1'},
{id: 2, label: 'Node 2'},
{id: 3, label: 'Node 3'},
{id: 4, label: 'Node 4'},
{id: 5, label: 'Node 5'}
]);
// create an array with edges
var edges = new vis.DataSet([
{from: 1, to: 3, width: 1},
{from: 1, to: 2, width: 6},
{from: 2, to: 4, width: 1},
{from: 2, to: 5, width: 3},
{from: 2, to: 3, width: 1},
]);
// create a network
var container = document.getElementById('mynetwork');
var data = {
nodes: nodes,
edges: edges
};
var options = {};
var network = new vis.Network(container, data, options);