Giter VIP home page Giter VIP logo

graph-drawing-libraries's Introduction

JavaScript Graph Drawing Libraries

Build Status

This is a list of known graph drawing libraries. See a website with interactive data.

If you find something missing, please let me know.

Commercial software

  • Graphistry - GPU client+server accelerated, point-and-click filtering/histograms/timebars/coloring/clustering, language-neutral REST and JavaScript/React/Python embedding APIs, data science notebook support, all major browsers from last 5+ years + mobile

Video

NOTE: This video is outdated. Keeping it for historical reasons only

Side by side rendering of the grid graph by 12 libraries: https://www.youtube.com/watch?v=Ax7KSQZ0_hk

Why?

This repository is inspired by @mbektimirov's question Difference with Sigma.js. I am trying to list all known graph drawing libraries, and inviting their authors to collaborate here.

graph-drawing-libraries's People

Contributors

anvaka avatar davay42 avatar drewnoakes avatar josdejong avatar lmeyerov avatar panaali avatar selenecodes avatar strathausen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

graph-drawing-libraries's Issues

Metrics to compare against

List of metrics:

  1. License
  2. GitHub popularity: Number of followers/forks/bugs/commits/recent activity
  3. Rendering engines: WebGL/SVG/Canvas/etc.
  4. Platforms: NodeJS, Browsers
  5. Performance: Graph size vs FPS
  6. Supported layout algorithms
  7. Library size

What else?

Cytoscape not working

Hi!

Great idea! Could you fix the cytoscape examples?

GET http://js.cytoscape.org/api/cytoscape.js-latest/cytoscape.min.js 
?lib=cytoscape%2Fcytoscape.js&graph=complete&n=10:37 Uncaught ReferenceError: cytoscape is not defined
    at ?lib=cytoscape%2Fcytoscape.js&graph=complete&n=10:37
    at runSuite (runSuite.js:953)
    at ?lib=cytoscape%2Fcytoscape.js&graph=complete&n=10:25

Are you interested in comparing our libraries?

Hello guys,

I'm trying to create a list of all known graph drawing libraries. Each library has its pros and cons. I thought it would be beneficial to give a list to developers and let them choose what suites best their needs.

If you are interested in contributing to this repository - I'll immediately give you full access. We need to come up with list of metrics which are most interesting.

What do you think?

To: @josdejong (@almende), @cpettitt, @maxkfranz (@cytoscape), @dhotson, @fkling, @jacomyal, @mbostock, @samizdatco, @strathausen and @uskudnik

Webpage does not display data

Hi!
Firstly, thank you for your work on graph libraries in JS and for maintaining this list.

I noticed that the webpage seems broken and does not display info.
Although that's not really an issue since the README here has good info on the libraries, I thought I should share it with you.

This is what the page looks like:
Screenshot 2022-02-25 112421

And the console shows these errors:
Screenshot 2022-02-25 112439

Somehow, the console errors in Firefox are different. This message is repeated many times:

TypeError: libraryName is undefined
    getRoute https://anvaka.github.io/graph-drawing-libraries/bundle.js:1262
    fn0 https://anvaka.github.io/graph-drawing-libraries/external.min.js line 242 > Function:4
    g https://anvaka.github.io/graph-drawing-libraries/external.min.js:131
    $digest https://anvaka.github.io/graph-drawing-libraries/external.min.js:148
    $apply https://anvaka.github.io/graph-drawing-libraries/external.min.js:151
    r https://anvaka.github.io/graph-drawing-libraries/external.min.js:164
    e https://anvaka.github.io/graph-drawing-libraries/external.min.js:48
    c https://anvaka.github.io/graph-drawing-libraries/external.min.js:51
external.min.js:124:303

Since the GitHub README page of this repo already has very helpful information about the libraries, maybe you could consider adding a link to this README instead of the website in the VivaGraphJS repo?

Performance comparisson

@josdejong I started working on performance suite. It will let users select any graph from the library of graph generators, configure number of nodes and run the demo.

So far I covered our libraries vis and vivagraph. I'm not sure if I've done it in a most optimal way for vis. Could you please take a look?

Grid 10x10

vis
vivagraph

Grid 100x10

Warning don't try this on mobile phone. It may kill the browser.

vis
vivagraph

Balanced Binary Tree with 4 levels

vis
vivagraph

Demo URLs are a bit broken

This is so nice, and so useful.

I had a bit of trouble navigating, though.

At https://anvaka.github.io/graph-drawing-libraries (which redirects to https://anvaka.github.io/graph-drawing-libraries/#!/all) all the "demo" links are slightly broken. They are like https://anvaka.github.io/graph-drawing-libraries/#/library/anvaka_VivaGraphJS but that renders as the same page as !/all. The experience is I click "demo" and nothing happens. If I manually change the URL to be like https://anvaka.github.io/graph-drawing-libraries/#!/library/anvaka_VivaGraphJS then they work.

Similar if I get through to the demo pages, like https://anvaka.github.io/graph-drawing-libraries/performance/?lib=anvaka_VivaGraphJS&graph=ladder&n=10 and then click on "render different graph", the URL is https://anvaka.github.io/graph-drawing-libraries/#/library/anvaka_VivaGraphJS when again it should have the ! to work.

Same behavior in Chromium Version 80.0.3987.149 (Official Build) snap (64-bit) and Firefox 74.0 (64-bit) for Ubuntu.

cpettitt/dagre performance

@cpettitt I wrote a simple script which lets users render graphs from graph generators library with dagre.

First of all, your library does very interesting layouts and usually very fast! I just wanted to show the source code to you. Is there any way we could make it run even faster?

Here are some examples (warning don't try this on mobile phone. It may kill the browser):

Grid 10x10

dagre
vis
vivagraph

Grid 100x10

dagre
vis
vivagraph

Balanced Binary Tree with 4 levels

dagre
vis
vivagraph

Graph settings is passed in the query string. List of arguments:

  • graph - name of a graph from generators library. Case sensitive. E.g. ladder, circularLadder. grid by default;
  • n - optional. First argument to a graph generator function. 10 by default;
  • m - optional. Second argument to a graph generator function (if required). 10 by default;
  • k - optional. Third argument to a graph generator function (if required). 10 by default;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.