Network Analysis
Contents
Books
Method-specific
Software-specific
Topic-specific
Courses
Datasets
Legislative cosponsorship networks, in R format.
A complex biological network, available in multiple formats, including JSON and Neo4j.
Online platform to analyze, archive and share ecological network data (preprint, Python package, R package).
Online platform to analyze, archive and share ecological network data (preprint, Python package, R package).
Software
Graph theory library written in Ruby.
Apache Spark module to perform graph-related parallel computation.
Implementation of force-directed edge bundling for the QGIS Processing toolbox.
Open-source library for machine learning on graphs.
Package to work with Bayesian networks.
lists
lists
Statistical model for communication networks.
Implementation of the CONCOR network blockmodeling algorithm
Implements an extension to the Topic-Partitioned Multinetwork Embeddings (TPME) model
Connects R, RStudio and JavaScript libraries to draw graph diagrams
Edge bundling algorithms, useful to e.g. draw networks of transport maps.
Dynamic Network Actor-Oriented Model (DyNAM) for the statistical analysis of coordination networks through time.
an igraph implementation of the Smith-Pittman community detection algorithm (2024).
Experimental package to analyze one-mode projections of bipartite (two-mode) networks. See also: bipartite R package.
Neo4J driver for R.
Various network functions and methods, e.g. computing the Cartesian product of two graphs or fitting a discrete core periphery model.
Includes 979 network datasets containing 2135 networks.
Simulate and visualize basic epidemic diffusion in networks.
Using vis.js library for network visualization.
Create d3.js network graphs from R.
Tools for collecting social media data and generating networks from it
Masters degree
Algorithms
Basic graph theory algorithms written in Clojure.
Community detection algorithms, available in C++, Python and R.
Julia, MATLAB and R implementations of two algorithms to find weighted modularity in bipartite networks.
C / C++
Python
Python packages and C/C++/CUDA libraries focused on GPU-accelerated graph analytics.
Python community detection library, with 60+ methods and evaluation/visualization features.
Interactive network visualization library in Python, powered by Cytoscape.js and Dash
Python package for statistical algorithms, models, and visualization for single and multiple networks.
Python package for unsupervised learning on graph structured data with a scikit-learn like API.
Assess the likelihood of potential links in a future snapshot of a network.
Python package for sampling from graph structured data with a scikit-learn like API.
Visualization package for NetworkX.
Python algorithms for community detection in n-partite networks.
Interactive visualization of higher-order graphs in Python.
Python library to extract, transform, and visually explore big graphs.
A high performance Python graph library implemented in Rust.
A convex optimization solver for problems defined on a graph.
Python library for temporal networks, and dynamic community detection in particular.
MATLAB/Python library to produce interactive network visualizations with d3.js.
Java
JavaScript
using velocity Verlet integration.
consisting of angles and magnitudes.
Web-based, lighter version of Gephi.
Specification and reference implementation for a robust and multipurpose JavaScript Graph object.
Louvain community detection for Javascript (example).
"Dynamic Network Visualizations [for] Domain Scientists." For demo examples, see The Vistorian.
Library initially developed to visualise "networks of influence" among U.S. elites.
Library based on d3.js that provides a graph based search interface.
Graph drawing library (ForceAtlas2 plugin).
Use Graphviz in Web pages.
Specification and reference implementation for a robust and multipurpose JavaScript Graph object.
Visualization library to build and manipulate graphs through a simple API. Powered by d3.js and WebCola.
Julia
Julia wrapper for the Smile C++ library, which covers Bayesian networks and influence diagrams.
Package to compute measures of ecological network structures.
Package to create, manipulate and study time-dependent networks.
Package to manipulate graph objects in Julia.
Graph data structures with multiple heterogeneous metadata for Graphs.jl.
Graph visualization built on top of GLVisualize.jl.
Graph library with a focus on performance and simplicity.
Community detection and other functionalities for the LightGraphs.jl package.
Layout algorithms for graphs and trees.
Additional graph functions for the LightGraphs.jl package.
Adds network measures to the Graphs.jl package.
A method to handle graph/matrix/network structures.
Package of network flows algorithms.
Package to visualize graphs produced with LightGraphs.jl, using ThreeJS.jl.
Package to manipulate, analyze and visualize phylogenetic networks.
Package to create graph layouts using the TikZ graphics language.
Varia
Comprehensive list of graph embedding papers with title, authors, link to the paper and reference implementation.
Comprehensive list of community detection papers with title, authors, link to the paper and reference implementation.
Moses Boudourides’ blog on analyzing (mostly) networks with Python.
(2012).