The GraphTech Ecosystem 2019
The three layers of graph technology
Graph visualization
tools
Graph computing
framework
Graph databases
Visualize
Analyze
Store Backend
Frontend
The graph visualization ecosystem
Graph visualization libraries & toolkits
Graph visualization software and web applications
Built-in visualizers & add-ons
Link to full access at the end of the presentation
Graph visualization libraries and toolkits
AfterGlow
AfterGlow
http://afterglow.sourceforge.net/main.ht
ml
About
AfterGlow is a tool which facilitates the process of generating graphs. AfterGlow is a script that assists
with the visualization of log data. It reads CSV files and converts them into a Graph description. The
latest version AfterGlow 1.6.5 was released on 07/08/13.
Alchemy.js
Alchemy.js
http://graphalchemist.github.io/Alchemy
/#/
About
Alchemy.js is a graph drawing application built almost entirely in d3. Alchemy.js was built so that
developers could easily get up and running with graph visualization applications, without much over
head. Minimal code is actually required to generate Alchemy.js graphs with most projects. Most
customization of the application takes place by overriding default configurations, rather than direct
implementation via JavaScript.
Arbor.JS
Arbor.JS
http://arborjs.org/
About
Arbor.js is a graph visualization library using web workers and jQuery. Rather than trying to be an
all-encompassing framework, arbor provides an efficient, force-directed layout algorithm plus
abstractions for graph organization and screen refresh handling. It leaves the actual screen-drawing to
you. This means you can use it with canvas, SVG, or even positioned HTML elements; whatever display
approach is appropriate for your project and your performance needs.
ccNetViz
ccNetViz
https://anadroid.github.io/ccNetViz/
About
ccNetViz is a lightweight, high performance javascript library for large network graphs visualization using
WebGL. It is an open source library available under GPLv3 License developed in the Helikar Lab.
Circos
Circos
http://www.circos.ca/
About
Circos is a software package for visualizing data and information. It visualizes data in a circular layout —
this makes Circos ideal for exploring relationships between objects or positions. There are other reasons
why a circular layout is advantageous, not the least being the fact that it is attractive.
Cola.JS
Cola.JS
http://marvl.infotech.monash.edu/webco
la/
About
cola.js (A.K.A. "WebCoLa") is an open-source JavaScript library for arranging your HTML5 documents
and diagrams using constraint-based optimization techniques.
It works well with libraries like D3.js, svg.js, and Cytoscape.js. The core layout is based on a complete
rewrite in Javascript of the C++ libcola library.
Cytoscape.js
Cytoscape.js
http://cytoscape.github.io/cytoscape.js/i
ndex.html
About
Cytoscape.js is a fully featured graph library written in pure JS with a permissive open source license
(MIT) for the core Cytoscape.js library and all first-party extensions. It is used in commercial projects
and open-source projects in production and designed for users first, for both frontfacing app use-cases
and developer use-cases. It includes graph theory algorithms, from BFS to PageRank
D3.JS
D3.JS
http://d3js.org/
About
D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life
using HTML, SVG, and CSS. D3’s emphasis on web standards gives you the full capabilities of modern
browsers without tying yourself to a proprietary framework, combining powerful visualization
components and a data-driven approach to DOM manipulation.
Dagre-d3
Dagre-d3
https://github.com/cpettitt/dagre-d3
About
Dagre is a JavaScript library that makes it easy to lay out directed graphs on the client-side. The
dagre-d3 library acts as a front-end to dagre, providing actual rendering using D3.
Dash Cytoscape
Dash Cytoscape
https://github.com/plotly/dash-cytoscap
e
About
Dash Cytoscape is a Component Library for Dash aimed at facilitating network visualization in Python,
wrapped around Cytoscape.js.
Dracula Graph library
Dracula Graph library
https://www.graphdracula.net/
About
Dracula.js is a set of tools to display and layout interactive connected graphs and networks, along with
various related algorithms from the field of graph theory. Just plain JavaScript and SVG. The code is
released under the MIT license, so commercial use is totally fine.
Flare
Flare
http://flare.prefuse.org/
About
Flare is an ActionScript library for creating visualizations that run in the Adobe Flash Player. From basic
charts and graphs to complex interactive graphics, the toolkit supports data management, visual
encoding, animation, and interaction techniques. Even better, flare features a modular design that lets
developers create customized visualization techniques without having to reinvent the wheel.
G6
G6
https://github.com/antvis/g6
About
G6 is a graph visualization framework which provides a set of basic mechanisms. Developers are able to
build graph visualization analysis application or graph visualization modeling application easily.
GDToolkit
GDToolkit
http://www.dia.uniroma3.it/~gdt/gdt4/in
dex.php
About
GDToolkit (also known as GDT) is a Graph Drawing Toolkit designed to efficiently manipulate several
types of graph, and to automatically draw them according to many different aesthetic criteria and
constraints.
GGraph
GGraph
https://github.com/pcbje/ggraph
About
GGraph is a graph visualization library for big messy data. This is a library built on top D3 with the goal of
improving how we work with large and messy graphs. It extends the notion of nodes and links with
groups of nodes. This is useful when multiple nodes are in fact the same thing or belong to the same
group.
GoJS
GoJS
https://gojs.net/latest/index.html
About
GoJS is a JavaScript and TypeScript library for building interactive diagrams and graphs. GoJS allows
you to build all kinds of diagrams and graphs for your users, from simple flowcharts and org charts to
highly-specific industrial diagrams, SCADA and BPMN diagrams, medical diagrams like genograms, and
more. GoJS makes constructing JavaScript diagrams of complex nodes, links, and groups easy with
customizable templates and layouts.
Grano
Grano
http://granoproject.org/
About
Grano is an open source tool for journalists and researchers who want to track networks of political or
economic interest. It helps understand the most relevant relationships in your investigations, and to
merge data from different sources.
GraphGL
GraphGL
https://github.com/uskudnik/GraphGL
About
GraphGL is a network visualization library designed for rendering (massive) graphs in web browsers and
puts dynamic graph exploration on the web another step forward. In short - it either calculates the layout
of the graph in real time or reads node positions. It is therefore suitable for static files (exported
GraphML/GEXF files converted to JSON) and for dynamic files.
Graphosaurus
Graphosaurus
https://github.com/frewsxcv/graphosaur
us
About
Graphosaurus is a three-dimensional static graph viewer powered by WebGL (three.js).
Graph Stream
Graph Stream
http://graphstream-project.org/
About
GraphStream is a Java library for the modeling and analysis of dynamic graphs. You can generate,
import, export, measure, layout and visualize them.
Graph Tool
Graph Tool
https://graph-tool.skewed.de/
About
Graph-tool is a Python module for manipulation and statistical analysis of graphs. Contrary to most other
python modules with similar functionality, the core data structures and algorithms are implemented in
C++, making extensive use of template metaprogramming, based heavily on the Boost Graph Library.
This confers it a level of performance that is comparable (both in memory usage and computation time)
to that of a pure C/C++ library.
Graphviz
Graphviz
http://www.graphviz.org/
About
The Graphviz package consists of a variety of software for drawing attributed graphs. It implements a
handful of common graph layout algorithms.The Graphviz layout programs take descriptions of graphs
in a simple text language, and make diagrams in useful formats, such as images and SVG for web pages;
PDF or Postscript for inclusion in other documents; or display in an interactive graph browser.
Graphvy
Graphvy
https://github.com/anbarief/Graphvy
About
Basic graph (data) exploration and visualization using Kivy.
H3Viewer
H3Viewer
https://graphics.stanford.edu/~munzner
/h3/
About
The H3Viewer library provides layout and interactive navigation of node-link graphs in 3D hyperbolic
space. The library can handle quite large graphs of over to 300,000 edges quickly and with minimal
visual clutter. The hyperbolic view allows the user to see a great deal of the context around the current
focus node.
igraph
igraph
http://igraph.org/
About
igraph is a collection of network analysis tools with the emphasis on efficiency, portability and ease of
use. igraph is open source and free. igraph can be programmed in R, Python, Mathematica and C/C++.
ipysigma
ipysigma
https://pypi.org/project/ipysigma/
About
Ipysigma is a custom Jupyter widget library to display graphs using sigma.js
JavaScript Diagram
JavaScript Diagram
https://www.syncfusion.com/javascript-
ui-controls/diagram
About
The JavaScript Diagram is a feature-rich library for visualizing, creating, and editing interactive diagrams.
It supports creating flowcharts, organizational charts, mind maps, and BPMN charts either through code
or a visual interface.
Java Universal Network/Graph Framework
Java Universal Network/Graph
Framework
http://jung.sourceforge.net/
About
JUNG — the Java Universal Network/Graph Framework--is a software library that provides a common
and extendible language for the modeling, analysis, and visualization of data that can be represented as
a graph or network. It is written in Java, which allows JUNG-based applications to make use of the
extensive built-in capabilities of the Java API, as well as those of other existing third-party Java libraries.
JavaScript InfoVis Toolkit
JavaScript InfoVis Toolkit
http://philogb.github.io/jit/
About
The JavaScript InfoVis Toolkit provides tools for creating Interactive Data Visualizations for the Web.
Joint JS
Joint JS
https://www.jointjs.com/opensource
About
JointJS is a JavaScript diagramming library with many native features to support visualization and
interaction with diagrams and graphs.
JS Graph it
JS Graph it
http://js-graph-it.sourceforge.net/
About
JS Graph is a JavaScript library for graphs representation that allows you to connect your HTML
elements using css classes to declare blocks, connectors, labels... no Javascript code required.
jsPlumb
jsPlumb
https://github.com/jsplumb/jsplumb/
About
jsPlumb provides a means for a developer to visually connect elements on their web pages. It uses SVG
and runs on all browsers from IE9 and later.
Keylines
Keylines
http://keylines.com/
About
KeyLines is a JavaScript software development kit (SDK) for building applications to visualize and
analyze complex connected data. Keylines' SDK enables developers to customize every phase and every
function of application they develop, such as visual features, the user interface, user interaction and
more. The platform is completely web-based, running on all major browsers, across devices, as a
standalone tool with its own systems and dashboards.
LargeViz
LargeViz
https://github.com/lferry007/LargeVis
About
LargeVis is the official implementation of the LargeVis model by the original authors, which is used to
visualize large-scale and high-dimensional data (Tang, Liu, Zhang and Mei). It now supports visualizing
both high-dimensional feature vectors and networks. The package also contains a very efficient
algorithm for constructing K-nearest neighbor graph (K-NNG).
multiNetX
multiNetX
https://github.com/nkoub/multinetx
About
multiNetX is a python package for the manipulation and visualization of multilayer networks. The core of
this package is a MultilayerGraph, a class that inherits all properties from networkx.Graph().
mxGraph
mxGraph
http://www.jgraph.com/mxgraph.html
About
mxGraph is a fully client side JavaScript diagramming library that uses SVG and HTML for rendering.
draw.io is an example that extends the functionality of this library. The sources to draw.io are also
available.
Neovis Js
Neovis Js
https://github.com/neo4j-contrib/neovis.
js/
About
Neo4j + vis.js = neovis.js. Graph visualizations in the browser with data from Neo4j. You can connect to
Neo4j instance to get live data, specify labels and property to be displayed, specify Cypher query to
populate.
NetJSON
NetJSON
https://github.com/netjson/netjsongraph
.js
About
Leverage the power of d3.js to visualize network topology using the NetJSON NetworkGraph format.
Build powerful and interoperable visualizations without losing flexibility!
NodeBox
NodeBox
https://www.nodebox.net/code/index.ph
p/Graph
About
The NodeBox Graph library includes algorithms from NetworkX for betweenness centrality and
eigenvector centrality, Connelly Barnes' implementation of Dijksta shortest paths and the spring layout
for JavaScript by Aslak Hellesoy and Dave Hoover. The goal of this library is visualization of small
graphs (<200 elements), if you need something more robust we recommend using NetworkX.
OGDF
OGDF
http://www.ogdf.net/doku.php
About
OGDF - the Open Graph Drawing Framework - is a self-contained C++ class library for the automatic
layout of diagrams. OGDF offers sophisticated algorithms and data structures to use within your own
applications or scientific projects. The library is available under the GNU General Public License.
Ogma
Ogma
http://ogma.linkurio.us/
About
Ogma is a JavaScript library for large-scale graph visualization and interaction, developed by Linkurious.
It embeds a powerful graphics engine that ensures high-performance rendering when working with large
graph, even on low-end computers. Ogma brings you several state-of-the-art layouts and all features
required to display, explore, and interact with graph data. Ogma's APIs are designed be consistent and
easy to use, making it the perfect tool to quickly develop a robust and feature-rich application.
Popoto.js
Popoto.js
http://www.popotojs.com/
About
Popoto.js is a JavaScript library built with D3.js designed to create interactive and customizable visual
query builder for Neo4j graph databases.
The graph queries are translated into Cypher and run on the database. Popoto also helps to display and
customize the results.
Processing.JS
Processing.JS
http://processingjs.org/
About
Processing.js is the sister project of the popular Processing visual programming language, designed for
the web. Processing.js makes your data visualizations, digital art, interactive animations, educational
graphs, video games, etc. work using web standards and without any plug-ins. You write code using the
Processing language, include it in your web page, and Processing.js does the rest.
Protovis
Protovis
http://mbostock.github.io/protovis/
About
Protovis composes custom views of data with simple marks such as bars and dots. Unlike low-level
graphics libraries that quickly become tedious for visualization, Protovis defines marks through dynamic
properties that encode data, allowing inheritance, scales and layouts to simplify construction. Protovis is
no longer under active development.
Py3Plex
Py3Plex
https://github.com/SkBlaz/Py3plex
About
Heterogeneous networks are complex networks with additional information assigned to nodes or edges
(or both). This library includes some of the state-of-the-art algorithms for decomposition, visualization
and analysis of such networks.
PyGraphistry
PyGraphistry
https://github.com/graphistry/pygraphist
ry
About
PyGraphistry is a visual graph analytics library to extract, transform, and load big graphs into Graphistry's
cloud-based graph explorer. It supports unusually large graphs for interactive visualization. The client's
custom WebGL rendering engine renders up to 8MM nodes and edges at a time, and most older client
GPUs smoothly support somewhere between 100K and 1MM elements.
Quickgraph
Quickgraph
https://archive.codeplex.com/?p=quickgr
aph
About
QuickGraph provides generic directed/undirected graph datastructures and algorithms for .NET.
QuickGraph comes with algorithms such as depth first seach, breath first search, A* search, shortest
path, k-shortest path, maximum flow, minimum spanning tree, least common ancestors, etc...
QuickGraph supports MSAGL, GLEE, and Graphviz to render the graphs, serialization to GraphML, etc...
Rapidd
Rapidd
http://resources.jointjs.com/demos
About
Rappid is a diagramming framework for advanced applications, delivering the best of HTML 5 + SVG
and providing you with the right tools to build outstanding products. Rappid is the commercial extension
to the JointJS Core library. It builds on the JointJS foundation and greatly extends it's functionality with
widgets, interaction components, additional shapes, and other functionality to build advanced HTML 5
applications.
Sigma.JS
Sigma.JS
http://sigmajs.org/
About
Sigma is a JavaScript library dedicated to graph drawing. It makes easy to publish networks on Web
pages, and allows developers to integrate network exploration in rich Web applications.
Soba
Soba
https://github.com/mil-tokyo/soba
About
A visualization toolkit coordinating with Sushi and Tempura. Soba is a 2D plotting library integrated with
Sushi (https://github.com/mil-tokyo/sushi) written in javascript. This library is easy to use, can work in
web browsers and coordinate with Sushi and Tempura(https://github.com/mil-tokyo/tempura).
SoNIA
SoNIA
http://web.stanford.edu/group/sonia/
About
SoNIA is a Java-based package for visualizing dynamic or longitudinal "network" data. By dynamic, we
mean that in addition to information about the relations (ties) between various entities (actors, nodes)
there is also information about when these relations occur, or at least the relative order in which they
occur.
Statnet
Statnet
https://github.com/statnet/statnet
About
Statnet - Software Tools for the Statistical Analysis of Network Data (meta-package) - is an integrated
set of tools for the representation, visualization, analysis, and simulation of network data.
Tom Sawyer Perspectives
Tom Sawyer Perspectives
https://www.tomsawyer.com/home/inde
x.php
About
Tom Sawyer Perspectives is a robust platform for building enterprise-class graph and data visualization
and analysis applications. It is a complete graph visualization software development kit (SDK) with a
graphics-based design and preview environment. The platform integrates enterprise data sources with
our powerful graph visualization, layout, and analysis technology to solve big data problems.
Tulip
Tulip
http://tulip.labri.fr/TulipDrupal/
About
Tulip is an information visualization framework dedicated to the analysis and visualization of relational
data. Tulip aims to provide the developer with a complete library, supporting the design of interactive
information visualization applications for relational data that can be tailored to the problems he or she is
addressing. Written in C++ the framework enables the development of algorithms, visual encodings,
interaction techniques, data models, and domain-specific visualizations.
Tulip
uGraph
https://github.com/lizhongit/ugraph
About
uGraph is an MIT-license open source project, and it's a feature-rich JavaScript & SVG library for
implementing custom interactive diagrams. Use very easy and has rich API, JSON format do as data
type of import/export, High performance render of Big-data
Vis.JS
Vis.JS
http://visjs.org/
About
Vis.js is a dynamic, browser based visualization library. The library is designed to be easy to use, to
handle large amounts of dynamic data, and to enable manipulation of and interaction with the data. The
library consists of the components DataSet, Timeline, Network, Graph2d and Graph3d.
visNetwork
visNetwork
https://github.com/datastorm-open/visN
etwork
About
VisNetwork is an R package, using vis.js library for network visualization. visNetwork is now available on
CRAN.
VivaGraphJS
VivaGraphJS
https://github.com/anvaka/VivaGraphJS
About
VivaGraphJS is a graph drawing library for JavaScript. It is designed to be extensible and to support
different rendering engines and layout algorithms. Underlying algorithms have been broken out into
ngraph.
yFiles
yFiles
http://www.yworks.com/en/index.html
About
The yFiles diagramming software components are extensive class libraries that enable you to add
high-quality diagramming functionality to your own software applications.
Built-in visualizers and other add-ons
AgensBrowser
AgensBrowser
https://bitnine.net/blog-agens-solution/blog-agensbro
wser/announcing-agensbrowser-web-v-1-0-release/
About
AgensBrowser web v1.0 is a tool that visualizes the data from AgensGraph, the Graph Database solution,
more intuitively than the others to help you clearly understand your data. AgensBrowser web v1.0 offers
a user interface that you can access the data in AgensGraph via web browser, and it supports you to
easily manage and visualize your data.
Bloom
Bloom
https://neo4j.com/bloom/
About
Neo4j Bloom is a breakthrough graph exploration application available in the Neo4j Graph Platform.
Bloom allows graph novices and experts alike the ability to investigate and explore their graph data
visually from different business perspectives.
Google Fusion Tables Network Graph
Google Fusion Tables Network
Graph
https://support.google.com/fusiontables
/answer/2566732?hl=en
About
Fusion Tables is an experimental data visualization web application to gather, visualize, and share data
tables. The Network Graph visualization supports undirected and directed graph structures. This type of
visualization illuminates relationships between entities. Google Fusion Tables will not be available after
Dec. 3, 2019
Graphexp
Graphexp
https://github.com/bricaud/graphexp
About
Graphexp is a lightweight web interface to explore and display a graph stored in a Gremlin graph
database, via the Gremlin server (version 3.2.x or 3.3.x). Graphexp is under the Apache 2.0 license.
GraphStudio™
GraphStudio™
https://doc.tigergraph.com/TigerGraph-
GraphStudio-UI-Guide.html
About
The TigerGraph GraphStudio™ UI (User Interface) provides an intuitive, browser-based interface that
helps users get started quickly with graph-based application development tasks: designing a graph
schema, creating a schema mapping, loading data, exploring the graph, and writing GSQL queries.
iGraph/M
iGraph/M
https://github.com/szhorvat/IGraphM
About
IGraph/M is a Mathematica package for use in complex networks and graph theory research. It started
out as a well-integrated Mathematica interface to igraph, one of the most popular open source network
analysis packages available. In addition to exposing igraph functionality to Mathematica, the current
version of IGraph/M contains many other functions for working with graphs.
IPySigma
IPySigma
https://github.com/bsnacks000/IPySigm
a-Demo
About
IPySigma is a lightweight python package coupled with a node-express/socket.io app. It is designed to
support a seamless workflow for graph visualization in jupyter notebook by using the jupyterlab/services
javscript library to leverage communication between networkx objects and sigma.js.
Neo4j Browser
Neo4j Browser
https://neo4j.com/developer/guide-neo4
j-browser/
About
Neo4j Browser is the general purpose user interface for working with Neo4j. Query, visualize,
administrate and monitor the database with modern and easy-to-use tools.
NetworkViz.jl
NetworkViz.jl
https://github.com/abhijithanilkumar/NetworkViz.jl/blo
b/master/LICENSE.md
About
NetworkViz.jl is a Julia module to render graphs in 3D using ThreeJS tightly coupled with LightGraphs.
NodeXL
NodeXL
http://processingjs.org/
About
NodeXL Basic is a free, open-source template for Microsoft® Excel® 2007, 2010, 2013 and 2016 that
makes it easy to explore network graphs. With NodeXL, you can enter a network edge list in a
worksheet, click a button and see your graph, all in the familiar environment of the Excel window.
SAP HANA Graph Viewer
SAP HANA Graph Viewer
https://developers.sap.com/tutorials/hana-grap
h-overview-viewer.html
About
SAP HANA Graph Viewer is an additional tool for SAP HANA Graph. Besides visualizing vertices and
edges of a graph workspace, HANA Graph Viewer enables developers to create SQL queries easily
protecting them from the complexity of Graph language or GraphScript.
SNA Helper
SNA Helper
http://blog.schochastics.net/post/an-rst
udio-addin-for-network-analysis-and-visu
alization/
About
SNAHelper is an Rstudio addon which provides a tiny GUI for visualizing and analysing networks.s
yFiles Neo4j Explorer
yFiles Neo4j Explorer
https://www.yworks.com/neo4j-explorer
/
About
The yFiles Neo4j Explorer is a powerful and free online tool to visually explore your Neo4j databases.
With the new Node Template Designer, you can easily style the database nodes in an easy-to-use
WYSIWYG editor.
Graph visualization software and web applications
Graph visualization software and web applications 2019
Free access
GraphTech Ecosystem - part 3: Graph Visualization

GraphTech Ecosystem - part 3: Graph Visualization