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
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!");
}
);
netToImg(
{
graph: myGraph,
destPath: "path/to/output/image",
options: {
layout: false,
},
},
(err) => {
if (!err) console.log("Everything went well!");
}
);
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 parserLouvain multi-graph supportAuto 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
v0.2.0
- #2 - Use FA2 #.inferSettings
- #1 - Use iwanthue for colors
- Clearer command options declaration
- #7 - RNG seeds, refactoring
- Accept files formatted as JSON for Graphology
- New option
mapSizes
- Better API
- Export SVG images
- Better initial FA2 layout
- #11 - Cast graphs to simple before Louvain