A CLI tool and library to quickly render a network's topology as an image
npm install net-to-imgA 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).
``bash`
npm install --global net-to-img
At the moment, net-to-img only supports GraphML, GEXF and JSON for Graphology formats, and only writes images as PNG images:
`bash`
net-to-img path/to/graph/file path/to/output/image
To see the list of all options, run:
`bash`
net-to-img --helpor
netimg --help
You can also use net-to-img programmatically if you need to:
`js
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: "
destPath: "path/to/output/image",
options: {
from: "gexf",
layout: false,
},
},
(err) => {
if (!err) console.log("Everything went well!");
}
);
`
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~~...)
- ...
- Revamping IO (-f/--from, -t/--to, -o/--output, stdin support etc.)netimg
- Fixing SVG output
- Adding the alias--largest-component
- Adding
- Adding possibility to directly pass a graphology instance
- net-to-img can now be used as a library
- Allow parallel edges in GraphML files
- #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