ericmjl/nxviz

Visualization Package for NetworkX

Python

486

1,669 commits

updated Oct 7, 2026

See the code

README

nxviz: Composable and rational network visualizations in matplotlib

nxviz is a package for building rational network visualizations using matplotlib as a backend. Inspired heavily by the principles espoused in the grammar of graphics, nxviz provides ways to compose a graph visualization together by adhering to the following recipe:

  1. Prioritize node placement, mapping data to position and visual properties,
  2. Draw in edges, mapping data to visual properties,
  3. Add in annotations and highlights on the graph.

nxviz is simultaneously a data visualization research project, art project, and declarative data visualization tool. We hope you enjoy using it to build beautiful graph visualizations.

Installation

Official Releases

nxviz is available on PyPI:

pip install nxviz

It's also available on conda-forge:

conda install -c conda-forge nxviz

Pre-releases

Pre-releases are done by installing directly from git:

pip install git+https://github.com/ericmjl/nxviz.git

Quickstart

To make a Circos plot:

# We assume you have a graph G that is a NetworkX graph object.
# In this example, all nodes possess the "group" and "value" node attributes
# where "group" is categorical and "value" is continuous,
# and all edges have the "edge_value" node attribute as well.

import nxviz as nv
ax = nv.circos(
    G,
    group_by="group",
    sort_by="value",
    node_color_by="group",
    edge_alpha_by="edge_value"
)

nv.annotate.circos_group(G, group_by="group")

For more examples, including other plots that can be made, please see the examples gallery on the docs.

network
network-visualization
networkx
visualization

ericmjl/nxviz

Visualization Package for NetworkX

Python

486

1,669 commits

updated Oct 7, 2026

See the code

README

nxviz: Composable and rational network visualizations in matplotlib

nxviz is a package for building rational network visualizations using matplotlib as a backend. Inspired heavily by the principles espoused in the grammar of graphics, nxviz provides ways to compose a graph visualization together by adhering to the following recipe:

  1. Prioritize node placement, mapping data to position and visual properties,
  2. Draw in edges, mapping data to visual properties,
  3. Add in annotations and highlights on the graph.

nxviz is simultaneously a data visualization research project, art project, and declarative data visualization tool. We hope you enjoy using it to build beautiful graph visualizations.

Installation

Official Releases

nxviz is available on PyPI:

pip install nxviz

It's also available on conda-forge:

conda install -c conda-forge nxviz

Pre-releases

Pre-releases are done by installing directly from git:

pip install git+https://github.com/ericmjl/nxviz.git

Quickstart

To make a Circos plot:

# We assume you have a graph G that is a NetworkX graph object.
# In this example, all nodes possess the "group" and "value" node attributes
# where "group" is categorical and "value" is continuous,
# and all edges have the "edge_value" node attribute as well.

import nxviz as nv
ax = nv.circos(
    G,
    group_by="group",
    sort_by="value",
    node_color_by="group",
    edge_alpha_by="edge_value"
)

nv.annotate.circos_group(G, group_by="group")

For more examples, including other plots that can be made, please see the examples gallery on the docs.

network
network-visualization
networkx
visualization

Project health

Overall

4.2/10

Maintained

10/10

Code review

0/10
OpenSSF Scorecard

PyPI

Latest release

0.9.0 · Jun 8, 2026

Releases this year

2

Significant stargazers

Wim Jeantine-Glenn

161 followers · starred Jul 2022

Zachary Sailer

256 followers · starred Jan 2018

Diego Colombo

159 followers · starred Mar 2017

seaerchin

19 followers · starred Oct 2021