net-to-img
v0.5.0
Published
A CLI tool and library to quickly render a network's topology as an image
Downloads
10
Readme
net-to-img
A CLI tool and library to quickly render a network's topology as an image. Its goal is to make it easy to visually detect some graph patterns (stars for instance).
Installation
npm install --global net-to-img
Usage
At the moment, net-to-img
only supports GraphML, GEXF and JSON for Graphology formats, and only writes images as PNG images:
net-to-img path/to/graph/file path/to/output/image
To see the list of all options, run:
net-to-img --help
# or
netimg --help
Library usage
You can also use net-to-img
programmatically if you need to:
const netToImg = require("net-to-img");
netToImg(
{
sourcePath: "path/to/graph/file",
destPath: "path/to/output/image",
options: {
layout: false,
},
},
(err) => {
if (!err) console.log("Everything went well!");
}
);
// To directly pass a graph instance
netToImg(
{
graph: myGraph,
destPath: "path/to/output/image",
options: {
layout: false,
},
},
(err) => {
if (!err) console.log("Everything went well!");
}
);
// Directly passing string data
netToImg(
{
data: "<gexf as string>",
destPath: "path/to/output/image",
options: {
from: "gexf",
layout: false,
},
},
(err) => {
if (!err) console.log("Everything went well!");
}
);
Disclaimer
This tool has been developped quite quickly (thanks for all the job previously done in the Graphology environment by Guillaume Plique), and it breaks very easily, on a lot of the graph files I tried it on. It could be improved, especially around the following issues:
- Errors management
- ~~Stronger GraphML parser~~
- ~~Louvain multi-graph support~~
- ~~Auto sizes for nodes~~
- More graph formats (GML, ~~JSON~~...)
- More image formats (JPG, ~~SVG~~...)
- ...
Changelog
v0.5.0
- Revamping IO (
-f/--from
,-t/--to
,-o/--output
, stdin support etc.) - Fixing SVG output
- Adding the
netimg
alias - Adding
--largest-component
v0.4.0
- Adding possibility to directly pass a
graphology
instance
v0.3.0
net-to-img
can now be used as a library
v0.2.1
- Allow parallel edges in GraphML files