Skip to content
forked from networkx/grave

GraVE: dead simple network (graph) drawing

License

Notifications You must be signed in to change notification settings

jarrodmillman/grave

 
 

Repository files navigation

Grave—dead simple graph visualization

Automated test status (Linux and MacOS) Automated test status (Windows) Test coverage

Logo

Grave is a graph visualization package combining ideas from Matplotlib, NetworkX, and seaborn. Its goal is to provide a network drawing API that covers the most use cases with sensible defaults and simple style configuration. Currently, it supports drawing graphs from NetworkX.

Example

Here, we create a graph and color the nodes in its minimum weighted dominating set:

import matplotlib.pyplot as plt
import networkx as nx
from networkx.algorithms.approximation.dominating_set import min_weighted_dominating_set

from grave import plot_network

network = nx.powerlaw_cluster_graph(50, 1, .2)
dom_set = min_weighted_dominating_set(network)

for node, node_attrs in network.nodes(data=True):
    node_attrs['is_dominator'] = True if node in dom_set else False

def color_dominators(node_attrs):
    if node_attrs.get('is_dominator', False):
        return {'color': 'red'}
    else:
        return {'color': 'black'}

fig, ax = plt.subplots()
plot_network(network, node_style=color_dominators)
plt.show()

The result:

Coloring the minimum weighted dominating set of a graph

License

Released under the 3-Clause BSD license (see LICENSE).

About

GraVE: dead simple network (graph) drawing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.6%
  • Shell 5.4%