All Projects → jacomyal → Sigma.js

jacomyal / Sigma.js

Licence: mit
A JavaScript library aimed at visualizing graphs of thousands of nodes and edges

Programming Languages

typescript
32286 projects
GLSL
2045 projects
HTML
75241 projects

Projects that are alternatives of or similar to Sigma.js

Svg Radar Chart
Generate SVG radar charts.
Stars: ✭ 45 (-99.53%)
Mutual labels:  dataviz
Eventdrops
A time based / event series interactive visualization using d3.js
Stars: ✭ 1,164 (-87.81%)
Mutual labels:  dataviz
Paletter
build your palette from a picture √
Stars: ✭ 78 (-99.18%)
Mutual labels:  dataviz
Edav
edav.info/
Stars: ✭ 45 (-99.53%)
Mutual labels:  dataviz
Vue D3 Workshop
Workshop content material and excercises for Suncoast Developers
Stars: ✭ 63 (-99.34%)
Mutual labels:  dataviz
React Fusioncharts Component
ReactJS component for FusionCharts JavaScript Charting library.
Stars: ✭ 73 (-99.24%)
Mutual labels:  dataviz
D3 Parliament
A parliament chart based on D3js
Stars: ✭ 44 (-99.54%)
Mutual labels:  dataviz
Earth atlas of space
Code and instructions for making an animated map of Earth
Stars: ✭ 89 (-99.07%)
Mutual labels:  dataviz
Reaviz
📊 Data visualization library for React based on D3
Stars: ✭ 1,141 (-88.05%)
Mutual labels:  dataviz
Opendatacam
An open source tool to quantify the world
Stars: ✭ 1,214 (-87.29%)
Mutual labels:  dataviz
Leaflet Swoopy
⤵️ Swoopy Arrow Plugin for Leaflet
Stars: ✭ 52 (-99.46%)
Mutual labels:  dataviz
Ggstatsplot
Enhancing `ggplot2` plots with statistical analysis 📊🎨📣
Stars: ✭ 1,121 (-88.26%)
Mutual labels:  dataviz
Nivo
nivo provides a rich set of dataviz components, built on top of the awesome d3 and React libraries
Stars: ✭ 9,550 (-0.02%)
Mutual labels:  dataviz
Easychart
A visual editor for the world's best web charting tool: Highcharts.
Stars: ✭ 45 (-99.53%)
Mutual labels:  dataviz
Dex
Dex : The Data Explorer -- A data visualization tool written in Java/Groovy/JavaFX capable of powerful ETL and publishing web visualizations.
Stars: ✭ 1,238 (-87.04%)
Mutual labels:  dataviz
Django Rest Pandas
📊📈 Serves up Pandas dataframes via the Django REST Framework for use in client-side (i.e. d3.js) visualizations and offline analysis (e.g. Excel)
Stars: ✭ 1,030 (-89.22%)
Mutual labels:  dataviz
Ggpol
🌍 Parliament diagrams and more for ggplot2
Stars: ✭ 71 (-99.26%)
Mutual labels:  dataviz
Kyrix
Interactive details-on-demand data visualizations at scale
Stars: ✭ 97 (-98.98%)
Mutual labels:  dataviz
Rustplotlib
A pure Rust visualization library inspired by D3.js
Stars: ✭ 87 (-99.09%)
Mutual labels:  dataviz
Leaflet Maps With Google Sheets
Customize Leaflet maps with a linked Google Sheets template and GeoJSON data on GitHub
Stars: ✭ 77 (-99.19%)
Mutual labels:  dataviz

Build Status

Sigma.js

Sigma.js is an open-source JavaScript library aimed at visualizing graphs of thousands of nodes and edges, mainly developed by @jacomyal and @Yomguithereal.

Overview

Architecture

Since version v2, sigma.js focuses on the management of graph display: rendering, interaction... The graph model is managed in a separate library called graphology, which is packed with convenience methods to manage graph data structures, and a lot of satellite libraries to handle various graph-related problems (metrics, community detection, layout algorithms...).

Graphology website offers a list of these libraries. Most of them can help you solve problems in your sigma.js based web applications.

Rendering

Sigma.js uses WebGL to render graphs. This makes it good at rendering medium to larger graphs in web pages (thousands of nodes and edges or more). It is also possible to customize rendering, but it is harder than it would be with SVG or Canvas based solutions.

Each way to draw a node or an edge is implemented as a program. You can develop your own, or use the owns provided by sigma. You can check this example to see how to use multiple programs. Also, you can check the list of available programs here.

Installation

You can install sigma (and graphology which is required for sigma to work) in your JavaScript or TypeScript project using npm:

npm install graphology sigma

Examples

The examples folder contains a series of self-contained TypeScript projects that you can either browse and edit on CodeSandbox or install locally likewise:

git clone [email protected]:jacomyal/sigma.js.git
cd sigma.js
npm install
cd examples
npm start --example=load-gexf-file # Change this to the desired example

List of available examples

Also, a more realistic sigma.js based web application is available in the demo folder. It aims to show a real-world usecase, and is the main showcase of sigma.js website.

Website

The current website is a simple manually crafted single-page website. It is located in the website folder. It also showcases the React.js based demo available in the demo folder in an iframe. The website itself does not need any build step, though the demo does.

It has been kindly designed by Robin de Mourat from the Sciences-Po médialab team.

Development

To start a dev server that will reload the webpage when the code is updated, run:

npm run website:watch

Then, open localhost:8080 in your browser. When any file in the website directory is saved (including the demo bundle), the page will be reloaded.

Build

To simply build the demo and copy the bundle in the website folder, just run:

npm run website:all

Contributing

You can contribute by submitting issues tickets and proposing pull requests. Make sure that tests and linting pass before submitting any pull request.

You can also browse the related documentation here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].