Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

ngraph.forcelayoutNd

Note: Please use ngraph.forcelayout instead of this package. This package is kept here for historical reasons, and ngraph.forcelayout is now capable of performing layouts in any N-dimensional space, with better performance.

Previous readme

Experimental N-dimensional force based graph layout. It supports graph layout in multidimensional spaces (2+), using higher dimensional orthant trees (similar to quadtrees, but generalized to multidimensional spaces). While this layout is very generic and supports higher dimensions, it is still much slower than specialized ngraph.forcelayout.

usage

// let's say you have a graph instance:
var graph = require('ngraph.graph')();
graph.addLink(1, 2);

var createLayout = require('ngraph.forcelayout.nd');
// to create 2d layout:
var layout2d = createLayout(graph, {
  dimension: 2
});

// to create 4d layout:
var layout4d = createLayout(graph, {
  dimension: 4
});

// Once you have layout, call it iteratively:
layout2d.step();

// You can then get positions of each node:
graph.forEachNode(printPosition);

function printPosition(node) {
  var pos = layout2d.getNodePosition(node.id);
  // pos[0], pos[1] - will represent x, y coordinates of a node.
}

install

With npm do:

npm install ngraph.forcelayout.nd

license

MIT

About

Experimental N-dimensional force based graph layout

Resources

License

Packages

No packages published
You can’t perform that action at this time.