HelikarLab / ccNetViz

JavaScript library for visualization of large-scale network graphs using WebGL
93 stars 43 forks source link

ccNetViz

Build Status contributions welcome HitCount License: GPL v3 semantic-release Conventional Commits

====================================

Graph theory (a.k.a. network) library for analysis and visualisation

NOTE: This page is intended as a documentation for the people maintaining the library. If you want to use the library as a user please visit our webpage to see the more docs and examples.

Description

ccNetViz is a lightweight, high performance javascript library for large network graphs (see graph theory) visualization using WebGL. It enables custom styling of nodes and edges in css like way, curve edges, dynamic changes of the network, a number of layout settings (see the layout directory) and basic graph interactivity. Used for example by Cell Collective project. ccNetViz is open source library available under GPLv3 License.

Plugin's Documentation

Development in ccNetViz

Please follow the below instructions to get started with development in ccNetViz:

You need to have Node and yarn .

  1. Clone the repository.
  2. Run yarn install inside the cloned repository to install dependencies.
  3. Run yarn dev and go to http://localhost:8080. From here go to any of the examples or tests.
  4. Making any changes to the src/ directory will trigger an auto reload and build of the webpage.
  5. Finally when you are done with the changes run yarn build to create the final build.

Note: if your having any problem with seeing changes, clear the browser cache.

Contributing

If you are looking to contribute to ccNetViz, fork the ccNetViz repo, follow all the above steps (i.e. Development in ccNetViz), commit the changes(ccNetViz follows the conventional commits specification, please adhere to this format of commits in your Pull Requests) to your fork and make a pull request to ccNetViz.

how to send a pull request:

Create a new branch with a meaningful name git checkout -b branch_name.

Developing new layouts

We recommend adding new/other layouts to src/layouts/ directory and allowing its usage by routing in src/layouts/layouts.js like implemented to the builtin layouts.

See the wiki pages for more information on the layouts implemented and that are possible.