Skip to content

Performs offline layout of large graphs and saves results to the disk

License

Notifications You must be signed in to change notification settings

anvaka/ngraph.offline.layout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ngraph.offline.layout

Performs offline 3D layout of large graphs and saves results to the disk. This is somewhat experimental.

The results are saved into data folder by default.

usage

// Assume you have a huge graph (instance of ngraph.graph):
var graph = require('ngraph.generators').grid(10000, 10000);
var createLayout = require('ngraph.offline.layout');
var layout = createLayout(graph);
layout.run();

This will run the 3d force-based layout for 500 iterations. Each 5th iteration is saved into ./data/{ITERATION_NUMBER}.bin file.

The layout can be configured with options argument:

// run only 100 iterations
var layout = createLayout(graph, {
  iterations: 100, // Run `100` iterations only
  saveEach: 10, // Save each `10th` iteration
  outDir: './myFolder', // Save results into `./myFolder`
  layout: require('ngraph.forcelayout3d') // use custom layouter
});

After all iterations are completed, the final positions.bin file will be saved into outDir. This file consists of Int32's written in Little Endian format. Each node of the graph is given three integers in the output file. The order of positions matches the order of graph traversal for graph.forEachNode() method.

If the outDir contains data from previous run the layouter will attempt to resume based on the last saved iteration. If you don't want this, you can tell it to overwrite existing files:

var overwrite = true;
layout.run(overwrite);

install

With npm do:

npm install ngraph.offline.layout

license

MIT

About

Performs offline layout of large graphs and saves results to the disk

Resources

License

Stars

Watchers

Forks

Packages

No packages published