0.5.0 • Published 4 years ago

net-to-img v0.5.0

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

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