60+ useful graph visualization libraries
We outline 60+ graph visualization libraries that allow users to build applications to display and interact with network representations of data.
By Elise Devaux, Linkurious
Introduction - Graphs are meant to be seen
By helping surface information, visualization tools create a bridge between graph data and viewers. Graph libraries are an important layer of the graph technology landscape. They let you build custom visualization application for network data and you can pick from a large catalog depending on your favorite language, license requirement, budget or project needs.
In the open-source world, some libraries offer many possibilities for data visualization, including graph, or network, representations. Other libraries solely focus on network diagram representations. Usually, these libraries provide more features than the generalist ones. You will also find commercial graph visualization libraries. The commercial libraries have the advantage of guaranteeing continuous technical support and advanced performances.
Graph visualization of the "Cosmic Web" dataset, study of the network of galaxies
List of graph visualization libraries
AfterGlow: a script written in Perl that assists with the visualization of log data. It reads CSV files and converts them into a Graph. The latest version of AfterGlow 1.6.5 was released on 07/08/13.
Circos: a software package in Perl for visualizing data and information. It visualizes data in a circular layout.
Cytoscape.js: a 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 front-facing app use-cases and developer use-cases. It includes graph theory algorithms, from BFS to PageRank.
Dash Cytoscape: a Component Library for Dash aimed at facilitating network visualization in Python, wrapped around Cytoscape.js.
Flare: an ActionScript library for creating visualizations that run in the Adobe Flash Player. The toolkit supports data management, visual encoding, animation, and interaction techniques.
GDToolkit (GDT): a C++ Graph Drawing Toolkit designed to manipulate several types of graph, and to automatically draw them according to many different aesthetic criteria and constraints.
GGraph: a graph visualization library for big data released under the Apache 2.0 License. It’s built on top D3 and extends the notion of nodes and links with groups of nodes.
Grano: an open source Python 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.
Graph Stream: a Java library for the modeling and analysis of dynamic graphs. You can generate, import, export, measure, layout and visualize them.
Graph Tool: a Python module for manipulation and statistical analysis of graphs. The core data structures and algorithms are implemented in C++.
Graphviz: a variety of C software for drawing attributed graphs and implementing a handful of common graph layout algorithms. The Graphviz layout programs take descriptions of graphs in a simple text language and make diagrams in 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: basic graph (data) exploration and visualization using Kivy and released under the MIT License.
igraph: a collection of network analysis tools open source and free. igraph can be programmed in R, Python, Mathematica and C/C++.
ipysigma: a custom Jupyter widget library to display graphs using sigma.js, released under the Apache 2.0 License.
Java Universal Network/Graph Framework (JUNG): a Java software library that provides a common language for the modeling, analysis, and visualization of data that can be represented as a graph or network.
LargeViz: a C++ tool released under the Apache 2.0 License to visualize large-scale and high-dimensional data. It supports visualizing both high-dimensional feature vectors and networks.
multiNetX: a python package, released under the GNU Public License, 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().
Muxviz: a framework for the analysis and visualization of interconnected multilayer networks. It is released under the GNU General Public License v3.0.
NodeBox: a Graph library in Python released under the GPL to visualize small graphs (<200 elements) with algorithms from NetworkX for betweenness centrality and eigenvector centrality.
OGDF: a self-contained C++ class library for the automatic layout of diagrams. OGDF offers algorithms and data structures to use within your own applications or scientific projects. The library is available under the GNU General Public License.
Py3Plex: a Python library released under the BSD License, providing algorithms for decomposition, visualization and analysis of graph data.
PyGraphistry: a Python visual graph analytics library to extract, transform, and load big graphs into Graphistry's cloud-based graph explorer.
Quickgraph: a C# open source tool providing generic directed/undirected graph data structures and algorithms for .NET. QuickGraph supports MSAGL, GLEE, and Graphviz to render the graphs, serialization to GraphML.
Rapidd: a commercial diagramming framework to build complex applications, combining HTML 5 + SVG technologies. Rappid is the commercial extension to the JointJS Core library.
SoNIA: a Java-based package for visualizing dynamic or longitudinal "network" data. It is released un der the GNU GPL License.
Statnet: an integrated set of R tools for the representation, visualization, analysis, and simulation of network data. It is released under GPL-3.
Tom Sawyer Perspectives: a commercial graph SDK with a graphics-based design and preview environment. The platform integrates enterprise data sources with a graph visualization, layout, and analysis technology.
Tulip: a information visualization framework dedicated to the analysis and visualization of relational data. Written in C++ the framework enables the development of algorithms, visual encodings, interaction techniques, data models, and domain-specific visualizations.
visNetwork: VisNetwork is a Proprietary R package, using vis.js library for network visualization.
yFiles: a commercial programming library for visualizing any kind of diagram, graph, or network.
Bio: Elise Devaux is a tech-enthusiast and marketing project manager. She currently works with Linkurious' team and partners to cover the emerging graph technology use cases.
- On-line and web-based: Analytics, Data Mining, Data Science, Machine Learning education
- Software for Analytics, Data Science, Data Mining, and Machine Learning
- A Complete Exploratory Data Analysis and Visualization for Text Data: Combine Visualization and NLP to Generate Insights
- Data Visualization in Python: Matplotlib vs Seaborn
- Best Data Visualization Techniques for small and large data