Возможно ли получить координаты узлов графика после его визуализации SigmaJS?Получить координаты узлов отображаемого графика в Sigma.js
var sigma = require('sigma');
var i,
s,
N = 100,
E = 500,
g = {
nodes: [],
edges: []
};
// Generate a random graph:
for (i = 0; i < N; i++)
g.nodes.push({
id: 'n' + i,
label: 'Node ' + i,
x: Math.random(),
y: Math.random(),
size: Math.random(),
color: '#666'
});
for (i = 0; i < E; i++)
g.edges.push({
id: 'e' + i,
source: 'n' + (Math.random() * N | 0),
target: 'n' + (Math.random() * N | 0),
size: Math.random(),
color: '#ccc'
});
sigma.renderers.def = sigma.renderers.canvas;
// Instantiate sigma:
s = new sigma({
graph: g,
container: document.getElementById('sigma-container'),
type: 'canvas'
});
Я хочу, чтобы получить реальные координаты (x
с и y
ы) узлов в этом графе. (после этого наносится на него атлас силы)
Можно ли получить координаты без прослушивания события? например итерацией по ним. Я хочу использовать макет, а затем визуализировать график, используя 'svg's и d3.js –
Да. Найдите отредактированный контент. Пусть это поможет. – BCoder
Спасибо за ответ. Для меня возникают два вопроса: 1. Что вы подразумеваете под «реальными» координатами? это то же самое, что используется при рендеринге? 2. Как правило, рекомендуется использовать сигму в качестве механизма компоновки? кроме «ngraph» (которого я еще не исследовал) sigmajs имеет наибольшее количество реализованных макетов. Я хочу, чтобы иметь возможность кормить график в sigma.js и получить координату узлов и сделать его с помощью svg. Это хорошая практика? и можно ли определить конкретный макет, который будет использоваться? –