net-to-img
TypeScript icon, indicating that this package has built-in type declarations

0.5.0 • Public • Published

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

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

Readme

Keywords

Package Sidebar

Install

npm i net-to-img

Weekly Downloads

0

Version

0.5.0

License

MIT

Unpacked Size

23.4 kB

Total Files

16

Last publish

Collaborators

  • yomguithereal
  • jacomyal