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.

Keywords

Computer scienceDynamics (music)Function (biology)Physics

Affiliated Institutions

Related Publications

It's who you know

Given a graph, how can we extract good features for the nodes? For example, given two large graphs from the same domain, how can we use information in one to do classification i...

2011 219 citations

An improved index of centrality

Increasing interest in the application of graph theory to the behavioral sciences is evidenced by the 1963 publication of the book "Applications of Graph Theory to Group Structu...

1965 Systems Research and Behavioral Science 527 citations

Publication Info

Year
2008
Type
article
Pages
11-15
Citations
6834
Access
Closed

Social Impact

Social media, news, blog, policy document mentions

Citation Metrics

6834
OpenAlex
604
Influential
3395
CrossRef

Cite This

Aric Hagberg, Dan Schult, Pieter J. Swart (2008). Exploring Network Structure, Dynamics, and Function using NetworkX. Proceedings of the Python in Science Conferences , 11-15. https://doi.org/10.25080/tcwv9851

Identifiers

DOI
10.25080/tcwv9851

Data Quality

Data completeness: 81%