Skip to content


Repository files navigation

Grapher Build Status

Draw network graphs using WebGL and Canvas backup.



npm install --save 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.


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.



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

npm install

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


To build Grapher, run the build script:

npm run build

This will bundle modules/grapher.js with its dependencies and outputs the result to grapher.js and grapher-min.js in the build folder. The build script also gets run during tests and in preversion.


Unit tests are run using Jasmine with this command:

npm test

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


Documentation is generated using groc, and is also done during version upgrades.


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.


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