sigma.js

a JavaScript library aimed at visualizing graphs of thousands of nodes and edges

See sigma.js in action

Click here to explore a network of Wikipedia pages about data visualization.

Architecture

Sigma.js is a modern JavaScript library for rendering and interacting with network graphs in the browser. It works in symbiosis with graphology, a multipurpose graph manipulation library.

graphology

handles graph data model & algorithms

+

sigma.js

handles graph rendering & interactions

=

your web app

Quick start

I want sigma.js in my existing project:

npm install graphology sigma

Learn more on the quickstart guide

I start from nothing:

Try this CodeSandbox

Use cases

Display

The most basic use case: you have a graph dataset, with colors, sizes and positions for each node. For instance, you exported a GEXF graph file from Gephi. You want to visualize it using on a web page.

Open in Storybook

Explore

You want to add interaction, so that your users can dig into the graph. You want to add a search field, and allow users to see the neighborhood of a node when hovering it.

Open in Storybook

Interact

You are developing a web application where users can create and manipulate graphs. You need users to be able to create nodes on click, and to drag and drop nodes.

Open in Storybook

Customize

You need to personalize the way your graphs are rendered. You need to display some nodes with pictures in them, and others differently.

Open in Storybook

Frequently asked questions

Go further

I want to know more

Look at the documentation.

I have a problem

Ask your questions on StackOverflow, or report bugs by opening a new GitHub issue.

I want to help

Contributions are welcome! Reading our contribution guide is a good start. You can also help us investigating existing issues or answering questions on StackOverflow.

In the wild

Here are a selection of applications and websites using sigma.js.

Gephi Lite

a graph visualization and exploration web application

GraphCommons

a collaborative platform for mapping, analyzing, and sharing data-networks

Retina

a web application to help sharing graph visualizations online

Polinode

a software to collect, visualize and analyze connected data

G.V()

a software to write, debug, test and analyze Gremlin graph databases

ipysigma

a Jupyter widget to render networks in the result of a notebook cell

Hyphe

a web corpus curation tool featuring a research-driven web crawler