Conference site » Proceedings

Exploring Network Structure, Dynamics, and Function using NetworkX

Aric A. Hagberg
hagberg@lanl.gov - Los Alamos National Laboratory, Los Alamos, New Mexico USA
Daniel A. Schult
dschult@colgate.edu - Colgate University, Hamilton, NY USA
Pieter J. Swart
swart@lanl.gov - Los Alamos National Laboratory, Los Alamos, New Mexico USA

Abstract
NetworkX is a Python language package for exploration and analysis of networks and network algorithms. The core package provides data structures for representing many types of networks, or graphs, including simple graphs, directed graphs, and graphs with parallel edges and self-loops. The nodes in NetworkX graphs can be any (hashable) Python object and edges can contain arbitrary data; this flexibility makes NetworkX ideal for representing networks found in many different scientific fields. In addition to the basic data structures many graph algorithms are implemented for calculating network properties and structure measures: shortest paths, betweenness centrality, clustering, and degree distribution and many more. NetworkX can read and write various graph formats for easy exchange with existing data, and provides generators for many classic graphs and popular graph models, such as the Erdos-Renyi, Small World, and Barabasi-Albert models. The ease-of-use and flexibility of the Python programming language together with connection to the SciPy tools make NetworkX a powerful tool for scientific computations. We discuss some of our recent work studying synchronization of coupled oscillators to demonstrate how NetworkX enables research in the field of computational networks.

Citation

A Hagberg, D Schult, P Swart, Exploring Network Structure, Dynamics, and Function using NetworkX in Proceedings of the 7th Python in Science conference (SciPy 2008), G Varoquaux, T Vaught, J Millman (Eds.), pp. 11-15

BibTeX entry

Full text PDF

Copyright The content of the articles of the Proceedings of the Python in Science Conference is copyrighted and owned by their original authors.
Terms of use For republication or other use of the material published, please contact the copyright owners to obtain permission.