README.md

Grapher

Draw network graphs using WebGL and Canvas backup.

Download

Installing

You can import grapher in a script tag, or build grapher into your application using Duo:

var Grapher = require('ayasdi/grapher');

Additional Modules

Need a specific feature? Create your own modules for Grapher! Here are some modules we've made:

  • center: Helpful functions for centering the graph.
  • palette: Set up custom palettes and set colors by palette indices.
  • target: Target a node or link, or find the nearest nodes and links.
  • zoom: Zoom adjusts Grapher's scale by ratio. Optionally target a point as the zoom center.

Examples

Here are a few examples:

  1. Simple
  2. Transforms
  3. Colors
  4. Drag
  5. Pan
  6. Force (using d3's force layout)

These examples can be also found in the examples folder.

Developing

Installing

Grapher uses Node.js. Install Node.js then run the following command:

sudo npm install

This will install the development dependencies that Grapher uses to run its various tasks.

Building

To build Grapher, run make:

make

This will bundle modules/grapher.js with its dependencies and outputs the result to grapher.js and grapher-min.js in the build folder. This will also generate documentation files in the doc folder. If you want to avoid creating docs, run this instead:

make grapher.js

This will only build grapher.js and grapher-min.js.

Testing

Unit tests are run using Jasmine with this command:

make test

This will also make grapher.js. Test specs can be found in the spec folder.

Documentation

Documentation is generated from the make command when building.

make

If you need to generate docs into the gh-pages branch, you can use:

make gh-pages

This will create a new branch off gh-pages named gh-pages-$(commit) which will contain the build and docs generated from the current HEAD. Please make sure to commit or stash any changes before running this command.

License

Grapher.js may be freely distributed under the Apache 2.0 license.